contenido
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()
- El método map() crea una nueva matriz ejecutando una función en cada elemento de la matriz.
- El método map() no realiza funciones en elementos de matriz que no tienen valor.
- 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)
- anterior: el valor inicial pasado por la función o el valor de retorno de la última devolución de llamada
- actual: el valor del elemento actualmente procesado en la matriz
- currentIndex: índice del elemento actual
- arr: el propio array al que pertenece el elemento actual
- 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