Heim  >  Artikel  >  Web-Frontend  >  Einführung in die Javascript-Traversal-Methode (Codebeispiel)

Einführung in die Javascript-Traversal-Methode (Codebeispiel)

不言
不言nach vorne
2018-10-24 17:38:492075Durchsuche

Der Inhalt dieses Artikels ist eine Einführung in die JavaScript-Traversal-Methode (Codebeispiel). Ich hoffe, dass er für Freunde hilfreich ist.

Es ist nützlich, das Objektobjekt in ein Array umzuwandeln, und dann habe ich an die Traversal-Methode gedacht, also möchte ich es auch aufzeichnen

1 Beenden oder aus der Schleife springen

  • break springt aus dem Schleifenkörper heraus und der Schleifenkörper ist beendet

  • return Funktionsausführung beenden

  • for (let i = 0; i < 5; i++) {
        if (i == 3) break;
        console.log("The number is " + i);
        /* 只输出 0 , 1 , 2 , 到3就跳出循环了 */
    }
    for (let i = 0; i <= 5; i++) {
        if (i == 3) continue;
        console.log("The number is " + i);
        /* 不输出3,因为continue跳过了,直接进入下一次循环 */
    }

    2. Traversal-Methode

Gefälschte Daten

  • const temporaryArray = [6,2,3,4,5,1,1,2,3,4,5];
    const objectArray = [
        {
            id: 1,
            name: &#39;d&#39;
        }, {
            id: 2,
            name: &#39;d&#39;
        }, {
            id: 3,
            name: &#39;c&#39;
        }, {
            id: 1,
            name: &#39;a&#39;
        }
    ];
    const temporaryObject = {
        a: 1,
        b: 2,
        c: 3,
        d: 4,
    };
    const length = temporaryArray.length;

  • Normal für Schleifendurchquerung
  • for(let i = 0; i < length; i++) {
        console.log(temporaryArray[i]);
    }

  • für In-Schleife
  • /* for in 循环主要用于遍历普通对象,
    * 当用它来遍历数组时候,也能达到同样的效果,
    * 但是这是有风险的,因为 i 输出为字符串形式,而不是数组需要的数字下标,
    * 这意味着在某些情况下,会发生字符串运算,导致数据错误
    * */
    for(let i in temporaryObject) {
        /* hasOwnProperty只加载自身属性 */
        if(temporaryObject.hasOwnProperty(i)) {
            console.log(temporaryObject[i]);
        }
    }

  • for of-Schleife, wird zum Durchlaufen iterierbarer Objekte verwendet
  • for(let i of temporaryArray) {
        console.log(i);
    }

  • forEach first Der erste Wert ist der Wert des aktuellen Index des Arrays, der zweite ist Der Indexwert kann nur das Array durchlaufen, hat keinen Rückgabewert und kann nicht aus der Schleife ausbrechen
  • let a = temporaryArray.forEach(function(item, index) {
        console.log(index, item);
    });

  • map return Das neue Array kann nur durchlaufen werden Das Array
  • temporaryArray.map(function(item) {
        console.log(item);
    });

  • Filter ist ein integriertes Objekt des Arrays, ändert das ursprüngliche Array nicht und hat einen Rückgabewert
  • temporaryArray.filter(function(item) {
        console.log(item%2 == 0);
    });

  • einige bestimmt, ob es übereinstimmende Werte gibt
  • let newArray = temporaryArray.some(function(item) {
        return item > 1;
    });
    console.log(newArray);

  • jeder bestimmt, ob alle Werte im Array vorhanden sind Erfüllen Sie die Bedingungen
  • let newArray1 = temporaryArray.every(function(item) {
        return item > 6;
    });
    console.log(newArray1);

  • reduce(function(total, currentValue, currentIndex, array) {}, [])
  • total: Anfangswert oder Der Rückgabewert nach Abschluss der Berechnung, der aktuelle Elementwert beim Durchlaufen von currentValue, der aktuelle Indexwert von currentIndex, das aktuelle Array des Arrays

    Wenn kein Parameter angegeben ist - leeres Array [] , die kumulative Variablensumme nimmt standardmäßig den Wert des ersten Elements an
  • Nach Angabe des Parameters „Leeres Array“ wird der Anfangswert der kumulativen Variablensumme zum leeren Array
let temporaryObject3 = {};
let newArray2 = objectArray.reduce(function(countArray, currentValue) {
    /* 利用temporaryObject3里存放id来判断原数组里的对象是否相同,若id相同,则继续下一步,不同则将该对象放入新数组中
     * 则countArray为去重后的数组
      * */
    temporaryObject3[currentValue.id] ? '' : temporaryObject3[currentValue.id] = true && countArray.push(currentValue);
    return countArray;
}, []);
console.log(newArray2);



Das obige ist der detaillierte Inhalt vonEinführung in die Javascript-Traversal-Methode (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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