[JavaScript] Explicación detallada del método de iteración de matriz

contenido

1.Array.forEach()

2.Matriz.mapa()

3.Arreglo.filtro()

4.Array.reducir()

5.Array.every()

6.Array.some()

7.Array.indexOf()


1.Array.forEach()

El método forEach() llama a una función (función de devolución de llamada) una vez para cada elemento de la matriz.

La función acepta 3 parámetros:

  • valor del ítem
  • índice de proyectos
  • la matriz en sí

Características:

Este método no tiene valor de retorno, simplemente atraviesa cada elemento de la matriz sin modificar la matriz original, pero puede modificar la matriz original usted mismo a través del índice de la matriz.

Ejemplo:

var numbers = [45, 4, 9, 16, 25];
numbers.forEach(function(value,index,array){
    console.log(value);
});

producción:

También podemos generar índice, que es el valor de índice de la matriz, en un bucle, y también podemos generar la matriz en sí. Si no usamos los parámetros de índice y matriz, podemos omitirlos.

2.Matriz.mapa()

  1. El método map() crea una nueva matriz ejecutando una función en cada elemento de la matriz.
  2. El método map() no realiza funciones en elementos de matriz que no tienen valor.
  3. El método map() no cambia la matriz original.

La función también acepta tres parámetros:

  • valor del ítem
  • índice de proyectos
  • la matriz en sí

Cuando la función de devolución de llamada usa solo el parámetro de valor, los parámetros de índice y matriz se pueden omitir:

Características:

La función de devolución de llamada del mapa admite el valor de retorno devuelto. Lo que se devuelve es equivalente a cambiar este elemento en la matriz a qué (no afecta la matriz original, pero es equivalente a clonar una copia de la matriz original, y la clonada la elemento correspondiente en la matriz de copias cambiado).

Ejemplo:

var txt = [];
var numbers = [45, 4, 9, 16, 25];
txt = numbers.map(function(value,index,array){
    return value*2;
});
console.log(txt);

producción: 

3.Arreglo.filtro()

El método filter() crea una nueva matriz que contiene los elementos de la matriz que pasan la prueba.

Esta función acepta 3 parámetros:

  • valor del ítem
  • índice de proyectos
  • la matriz en sí

En el siguiente ejemplo, la función de devolución de llamada no utiliza los parámetros de índice y matriz, por lo que se pueden omitir

Características:

Si necesitamos filtrar los elementos en la matriz y mostrarlos de acuerdo con ciertas condiciones, entonces este método es el más adecuado y las condiciones del filtro se escriben en la función de devolución de llamada como valor de retorno.

Ejemplo: (filtrar elementos mayores de 20 en la matriz)

var txt = [];
var numbers = [45, 4, 9, 16, 25];
txt = numbers.filter(function(value,index,array){
    return value>20;
});
console.log(txt);

producción:

4.Array.reducir()

El método reduce() acepta una función como acumulador, y cada valor de la matriz (de izquierda a derecha) se reduce a un valor.

gramática:

array.reduce(function(prev, current, currentIndex, arr), initialValue)

  1. anterior: el valor inicial pasado por la función o el valor de retorno de la última devolución de llamada
  2. actual: el valor del elemento actualmente procesado en la matriz
  3. currentIndex: índice del elemento actual
  4. arr: el propio array al que pertenece el elemento actual
  5. initialValue: el valor inicial pasado a la función

Aplicación de reducir:

1. Suma de matriz:

var sum = 0;
var numbers = [45, 4, 9, 16, 25];
sum = numbers.reduce(function(prev,current){
    return prev+current;
},0);
console.log(sum); //99

2. Cuente el número de ocurrencias de cada elemento en la matriz:

var txt = ['curry', 'james', 'green', 'curry', 'thompson'];
var names = txt.reduce(function(pre,cur){
     if(cur in pre){
         pre[cur]++
     }else{
         pre[cur] = 1 
     }
     return pre
},{})
console.log(names); //{ curry: 2, james: 1, green: 1, thompson: 1 }

3. Sume las propiedades en el objeto:

var result = [
    {
        subject: 'math',
        score: 10
    },
    {
        subject: 'chinese',
        score: 20
    },
    {
        subject: 'english',
        score: 30
    }
];
 
var sum = result.reduce(function(prev, cur) {
    return cur.score + prev;
}, 0);
console.log(sum) //60

5.Array.every()

Esta función acepta 3 parámetros:

  • valor del ítem
  • índice de proyectos
  • la matriz en sí

Si la función de devolución de llamada solo usa el primer parámetro (valor), se pueden omitir otros parámetros

Características:

Si necesitamos juzgar si todos los elementos en una matriz satisfacen una condición, podemos usar el método cada, si se cumple, devolverá verdadero, de lo contrario, devolverá falso.

Ejemplo:

var sum;
var numbers = [45, 4, 9, 16, 25];
sum = numbers.every(function(value){
    return value>20;
});
console.log(sum); //false

6.Array.some()

Este método también soporta los tres parámetros del ejemplo anterior, la diferencia entre este y el método ever es que si hay elementos en la matriz que cumplen las condiciones, devolverá verdadero, y si no hay elementos, devolverá falso .

Ejemplo:

var sum;
var numbers = [45, 4, 9, 16, 25];
sum = numbers.some(function(value){
    return value>20;
});
console.log(sum); //true

7.Array.indexOf()

El método indexOf() busca en una matriz el valor de un elemento y devuelve su posición (valor de índice).

Ejemplo:

var result;
var numbers = [45, 4, 9, 16, 25];
result = numbers.indexOf(9)
console.log(result); //2

Supongo que te gusta

Origin blog.csdn.net/qq_49900295/article/details/123990542
Recomendado
Clasificación