La diferencia entre for in y for of -M

La diferencia entre for in y for of

La diferencia entre los dos métodos es que ambos se pueden usar para atravesar
① tanto for in como for of pueden recorrer la matriz, la salida de for in es el subíndice de índice de la matriz y la salida de for of es el índice de cada elemento del valor de la matriz.

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
}

② for in puede atravesar objetos, for of no puede atravesar objetos y solo puede atravesar objetos con 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
}

③Objeto de matriz. for in atraviesa las propiedades del objeto y las propiedades en la cadena prototipo, y for of atraviesa los objetos de la 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
   }
 }

Supongo que te gusta

Origin blog.csdn.net/Sunshinedada/article/details/130794569
Recomendado
Clasificación