(js) A diferença entre for of e for in

(js) A diferença entre for of e for in

Resumo:
for in é adequado para percorrer objetos
e for of é adequado para percorrer arrays.
pois in percorre o índice da matriz, as propriedades do objeto e as propriedades na cadeia de protótipos.


1. Matriz de loop

Diferença 1: Matrizes de loop for in e for of can. for in gera o índice subscrito do array, enquanto for of gera o valor de cada item do array.

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
    }

2. Objeto de loop

Diferença 2: for in pode percorrer objetos, mas for of não pode, ele só pode percorrer objetos com interfaces iteradoras, como 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
    }

3. Objeto de matriz

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
    }
  }

Referência da solução: https://blog.csdn.net/qq_43796489/article/details/119566594

おすすめ

転載: blog.csdn.net/qq_44754635/article/details/129078286