Reenviado de : cinco métodos de cruce de matriz de JavaScript
Este artículo presenta principalmente cinco métodos de cruce de matriz de JavaScript para ayudarlo a comprender mejor y aprender a usar JavaScript. Los amigos interesados pueden aprender sobre esto.
En el proceso de escribir código en JavaScript, puede usar varios métodos para iterar sobre la matriz, incluidos métodos como for loop, forEach loop, map loop, forIn loop y forOf loop.
1. Bucle for: básico y sencillo
Este es el método más básico y comúnmente utilizado para atravesar una matriz; varios lenguajes de desarrollo generalmente admiten este método.
let arr = ['a','b','c','d','e'];
for (let i = 0, len = arr.length; i < len; i++) {
console.log(i); // 0 1 2 3 4
console.log(arr[i]); //a b c d e
}
Dos, método forEach (): use la función de devolución de llamada
forEach() Este es un método del objeto Array; acepta una función de devolución de llamada como argumento.
Hay tres parámetros en la función de devolución de llamada:
- 1º: elemento de matriz (obligatorio)
- 2º: valor de índice del elemento de matriz (opcional)
- 3º: la propia matriz (opcional)
let arr = ['a','b','c','d','e'];
arr.forEach((item,index,arr)=> {
console.log(item); // a b c d e
console.log(index); // 0 1 2 3 4
console.log(arr); // ['a','b','c','d','e']
})
3. Método map(): use la función de devolución de llamada
Se usa de la misma manera que el método forEach().
var arr = [
{name:'a',age:'18'},
{name:'b',age:'19'},
{name:'c',age:'20'}
];
arr.map(function(item,index) {
if(item.name == 'b') {
console.log(index) // 1
}
})
Cuatro, bucle for..in: atravesar objetos y matrices
El bucle for...in se puede utilizar para recorrer objetos y matrices.
Recomendado para objetos en bucle, y también se puede usar para atravesar json.
let obj = {
name: '王大锤',
age: '18',
weight: '70kg'
}
for(var key in obj) {
console.log(key); // name age weight
console.log(obj[key]); // 王大锤 18 70kg
}
----------------------------
let arr = ['a','b','c','d','e'];
for(var key in arr) {
console.log(key); // 0 1 2 3 4 返回数组索引
console.log(arr[key]) // a b c d e
}
Cinco, for...of loop: atravesar objetos y matrices
Matrices y objetos en bucle, recomendados para atravesar matrices.
for...of proporciona tres nuevos métodos:
- key() es un cruce de nombres de clave;
- value() es un cruce de valores clave;
- las entradas () es un cruce de pares clave-valor;
let arr = ['科大讯飞', '政法BG', '前端开发'];
for (let item of arr) {
console.log(item); // 科大讯飞 政法BG 前端开发
}
// 输出数组索引
for (let item of arr.keys()) {
console.log(item); // 0 1 2
}
// 输出内容和索引
for (let [item, val] of arr.entries()) {
console.log(item + ':' + val); // 0:科大讯飞 1:政法BG 2:前端开发
}
6. Suplemento
6.1, romper y continuar problemas
En las funciones forEach, map, filter, reduce, every, some, las palabras clave break y continue no tendrán efecto, porque están en la función, pero la función resuelve el problema de la trampa de cierre.
Para usar pausar y continuar, puede usar for, for...in, for...of, while.
6.2, arreglos y objetos
用于遍历数组元素使用:for(),forEach(),map(),for...of 。
用于循环对象属性使用:for...in。