Praktische JS-Tipps

1. Die Anwendung von Reduce

Einführung reduzieren

Die Hauptfunktion des Reduzierens ähnelt der Akkumulation: Das Endergebnis wird durch einen Wert aufgezeichnet, dieser Wert wird kontinuierlich in die Durchquerung eingefügt und schließlich wird das erforderliche Endergebnis zurückgegeben.
reduce(( previousValue, currentValue, currentIndex, array) => { /* … */ } , initialValue) Die
vier Parameter in der ersten Parametermethode sind der Wert des vorherigen Datensatzes, das aktuelle Durchlaufelement, der aktuelle Durchlaufindex und das Array selbst. Der Parameter soll pre einen Anfangswert geben.

Szenen, die verwendet werden sollen

const arr = [1,2,3,4,5]
// 1、累加(给一个初始值2)
const test =arr.reduce((pre,cur)=>{
    
    
  return pre+cur;
},2)
// 输出17

// 2、找出最大值
const test2=arr.reduce((pre,cur)=>pre>cur?pre:cur)
// 输出5

Wenn es sich bei den Array-Elementen um Zahlen handelt, kann Math.max(...arr) auch verwendet werden, um die Maximal- und Minimalwerte zu ermitteln, was noch eleganter aussieht. Die Einschränkung besteht jedoch darin, dass der Typ eine Zahl ist. Wenn das Array-Element einen anderen Typ hat (z. B. um den Maximalwert eines bestimmten Attributs in einem Objektarray zu ermitteln), kann Reduzieren eine bessere Lösung bieten.

2. Initialisieren Sie das zweidimensionale Array

Während ich tatsächlich Code schrieb, stieß ich auf die Szene, in der ein zweidimensionales Array initialisiert wurde. Damals wollte ich es auch mit Fill realisieren, aber es scheiterte. Der Grund dafür ist, dass ich [] direkt eingegeben und darauf gezeigt habe das eigentliche Array-Objekt, was dazu führt, dass alles fehlschlägt. Es zeigt auf dasselbe leere Array, was mit „map after reference“ eleganter implementiert werden kann.

const secondArr = Array(5).fill(0).map(()=>Array(0))
// 输出
// 0: []
// 1: []
// 2: []
// 3: []
// 4: []
// length: 5

Um ein zweidimensionales Array mit bekannten Zeilen zu initialisieren, müssen Sie nur die äußere Ebene mit 0 füllen, dann jede Zeile durchlaufen und ein leeres Array zurückgeben.

3. Filtern Sie falsche Werte aus dem Array heraus

Filtern Sie alle falschen Werte mit der booleschen Funktion heraus: 0, undefiniert, null, falsch, „“, „“. Nachteile: 0 wird ebenfalls herausgefiltert und für numerische Arrays kann das Vorhandensein der Zahl 0 erforderlich sein.

const arr=[0,3,2,'',false,null]
const arrFilter = arr.filter(Boolean)
console.log(arrFilter)
//输出[3,2]

4. Null-Koaleszenzoperator

Der Nullkoaleszenzoperator (??) ist ein logischer Operator, der seinen rechten Operanden zurückgibt, wenn sein linker Operand null oder undefiniert ist, andernfalls seinen linken Operanden.

const foo = null ?? 'my school';
// 输出: "my school"
const baz = 0 ?? 42;
// 输出: 0

5. Konvertieren Sie Dezimalzahlen in Binär- oder Hexadezimalzahlen

const num = 10;
num.toString(2);
// 输出: "1010"
num.toString(16);
// 输出: "a"
num.toString(8);
// 输出: "12"

Supongo que te gusta

Origin blog.csdn.net/m0_46550764/article/details/127138334
Recomendado
Clasificación