La diferencia entre búsqueda y filtrado de ES6 y la diferencia entre todos y algunos

Si find   encuentra un elemento que cumple con las condiciones, ya no continuará atravesando y devolviendo el elemento.

El filtro atraviesa toda la matriz para encontrar todos los elementos que cumplan las condiciones y los almacena en una matriz.

         Ningún método cambia el grupo de elementos.

each  devuelve falso siempre que un elemento no cumpla las condiciones y devuelve verdadero si todos los elementos cumplen las condiciones.

           Si se encuentra un elemento que no cumple con las condiciones, no continuará atravesando y devolverá falso, si no se encuentra, continuará atravesando hasta que se complete el recorrido.

          Matriz, si todos cumplen las condiciones, devuelve verdadero

algunos  devuelven verdadero siempre que un elemento cumpla las condiciones y devuelven falso si ninguno de los elementos cumple las condiciones.

           Recorra la matriz y encuentre el primer elemento que cumpla con las condiciones, deje de recorrer y devuelva verdadero; de lo contrario, continúe atravesando hasta encontrar el elemento que cumpla con las condiciones.

          Los elementos de la condición. Si todos los elementos de la matriz no cumplen la condición después de atravesar la matriz, se devolverá falso.

nombre del método valor de retorno Condición de terminación
encontrar Mismo elemento de matriz Deje de recorrer cuando encuentre el primer elemento que cumpla las condiciones.
filtrar formación Recorra todos los elementos de la matriz y encuentre todos los elementos que cumplan con los criterios
cada Booleano Si se encuentra el primer elemento que no cumple con las condiciones, dejará de atravesar y devolverá falso hasta que se recorra toda la matriz. Si todos los elementos cumplen las condiciones, devolverá verdadero.
alguno Booleano Si se encuentra el primer elemento que cumple las condiciones, el recorrido se detendrá y se devolverá verdadero hasta que se recorra toda la matriz. Si no se encuentra ningún elemento que cumpla las condiciones, se devolverá falso.
 const array=[
              {a:2,b:1},//0
              {a:0,b:2},//1
              {a:2,b:3},//2
              {a:1,b:2},//3
              {a:2,b:1},//4                        
              {a:0,b:3}//5
                  ]
 //返回结果是找到的第一个符合条件的元素,如果没有符合条件的元素,则返回undefined
   const res=this.array.find((item,index)=>{
                        console.log(index)//会打印0,1,2,3
                        return item.a===1
                     })
 //找到第一个符合条件 {a:1,b:2} 就返回结果不再继续遍历
   console.log(res)
 //遍历所有元素,返回值是一个包含所有符合条件元素的数组,如果没有符合条件的元素,则返回[]
   const res=this.array.filter((item,index)=>{
                        console.log(index)//会打印0,1,2,3,4,5
                        return item.a===1
                     })
 //[{a: 1, b: 2}]
   console.log(res)

 

//返回值类型是Boolean 只要找到第一个符合条件的元素就停止遍历,返回true,如果没有符合条件的元素则 
//返回false
  const res=this.array.some((item,index)=>{
                        console.log(index)//会打印0,1,2,3
                        return item.a===1
                     })
//找到第一个符合条件的元素就返回true,不在继续遍历       
  console.log(res)
//遍历数组只要元素不符合条件就返回false,如果符合条件就一直遍历直到遍历完每个元素
  const res=this.array.every((item,index)=>{
                        console.log(index)//会打印0
                        return item.a===1
                     })
//false 遍历第一个元素时,不符合条件直接返回的false
  console.log(res)

 

 

Supongo que te gusta

Origin blog.csdn.net/uniquepeng/article/details/126461812
Recomendado
Clasificación