Der Unterschied zwischen for in und for of

Beim Durchlaufen von Arrays oder Objekten verwenden wir oft zwei Methoden: for in und for of,

Dann besteht der Unterschied zwischen diesen beiden Methoden darin, dass beide für die Traversierung verwendet werden können,

Aber für in durchläuft den Index des Arrays (Index),

Und for von durchläuft den Array-Elementwert (value)

denn in ist besser zum Traversieren von Objekten geeignet, und natürlich kann es auch Arrays durchlaufen, aber es wird einige Probleme geben.

denn in kann Objekte durchlaufen, denn kann Objekte nicht durchlaufen, kann es nur Objekte mit Iterator-Schnittstelle durchlaufen, wie z. B. Set,Map,String,Array

Unterschied 1: Sowohl for in als auch for of können das Array durchlaufen, for in gibt den Indexindex des Arrays aus und for of gibt den Wert jedes Elements des Arrays aus.

const arr = [1,2,3,4]
 
// for ... in
for (const key in arr){
    console.log(key) // 输出 0,1,2,3
    }
 
// for ... of
for (const key of arr){
    console.log(key) // 输出 1,2,3,4
    }

Unterschied 2: for in kann Objekte durchlaufen, während for of keine Objekte durchlaufen kann, sondern nur Objekte mit Iterator-Schnittstelle, wie Set, Map, String, Array

const object = { name: 'lx', age: 23 }
    // for ... in
    for (const key in object) {
      console.log(key) // 输出 name,age
      console.log(object[key]) // 输出 lx,23
    }
 
    // for ... of
    for (const key of object) {
      console.log(key) // 报错 Uncaught TypeError: object is not iterable
    }

Array-Objekt

const list = [{ name: 'lx' }, { age: 23 }]
    for (const val of list) {
      console.log(val) // 输出{ name: 'lx' }, { age: 23 }
      for (const key in val) {
        console.log(val[key]) // 输出 lx,23
      }
    }

for in eignet sich zum Traversieren von Objekten und for of eignet sich zum Traversieren von Arrays. denn in durchläuft den Index des Arrays, die Eigenschaften des Objekts und die Eigenschaften der Prototypkette.

Je suppose que tu aimes

Origine blog.csdn.net/yjxkq99/article/details/126961512
conseillé
Classement