Heim  >  Artikel  >  Web-Frontend  >  Iterationsmethoden von Arrays in JS: Filter, Reduce, Every, Some

Iterationsmethoden von Arrays in JS: Filter, Reduce, Every, Some

Guanhui
Guanhuinach vorne
2020-05-09 09:14:192539Durchsuche

Die Iterationsmethoden von Arrays in JS sind forEach, Map, Filter, Reduce, Every, Some

Im täglichen Prozess der Verarbeitung von JS-Arrays verwenden wir normalerweise die Implementierung von for-Schleifen Im Folgenden werden einige häufig verwendete Array-Iterationsmethoden außer For-Schleifen zusammengefasst >

let a = [1,2,3];
a.forEach(function(value,i){
    console.log("第" + (i + 1) + "项 :" +  value)
})
// 第1项 :1
// 第2项 :2
// 第3项 :3

map (Mapping)

ähnelt der Funktion forEach, aber map hat einen Rückgabewert und generiert ein neues Array, ohne das ursprüngliche Array zu ändern

let a = [1,2,3];
a.map(function(value,i){
    return value * 2
})
// 第1项 :2
// 第2项 :4
// 第3项 :6

Vergleich zwischen Map und forEach:

// 没有返回值的forEach:
let a = [1, 2, 3];
a = a.forEach(function (value, i) {
    return value * 2 // undefine
})
// 有返回值的map:
let b = [1, 2, 3];
b = b.map(function (value, i) {
    return value * 2 // [2,4,6]
})
Mögliche Fallstricke: Es gibt Komma-Trennzeichen zwischen den von Map verarbeiteten Daten

Grund: Nach der Map-Durchquerung handelt es sich immer noch um ein Array und die Array-Elemente werden durch getrennt Kommas. Beim Einfügen in das DOM werden auch die Kommatrennzeichen zwischen den Array-Elementen eingefügt. Nach dem Durchlaufen der Karte wird dieses Problem durch direkte Verkettung behoben it: Auf die Karte folgt .join('')

reduce (kumulative)

reduce()-Methode empfängt eine Funktion als Akkumulator, jeder Wert im Array Die Reduktion beginnt (von links nach rechts) und endet mit der Berechnung auf einen Wert.

reduce() kann als Funktion höherer Ordnung für die Funktion compose verwendet werden.

Hinweis: Reduce() führt die Rückruffunktion nicht für ein leeres Array aus.

Berechnen Sie die vorherigen und nachfolgenden Elemente

let a = [1, 2, 3];
a = a.reduce(function (prev, next) {
    return prev + next // 1+2+3 = 6
})

Filter (Filter)

Filtern Sie die Werte heraus, die die Bedingungen nicht erfüllen und ein neues Array zurückgeben

let a = [1, 2, 3];
a = a.filter(function (value, i) {
    return value > 2 
})
console.log(a) // 3

every (all)

Bestimmen Sie, ob jedes Element die Bedingungen erfüllt. Wenn ja, geben Sie true zurück, andernfalls false

let a = [1, 2, 3];
a = a.every(function (value, i) {
    return value > 2 
})
console.log(a) // false

einige (willkürlich)

Beurteilen Sie, ob eines der einzelnen Elemente die Bedingung erfüllt. Wenn ja, geben Sie true zurück, andernfalls false

let a = [1, 2, 3];
a = a.every(function (value, i) {
    return value > 2 
})
console.log(a) // true

Empfohlenes Tutorial: "

JS-Tutorial

Das obige ist der detaillierte Inhalt vonIterationsmethoden von Arrays in JS: Filter, Reduce, Every, Some. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:zhihu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen