Prefacio
Aprenda js - matriz
Tabla de contenido
2. Genere una matriz como [1-100]
Al probar una serie de grandes cantidades de datos, se pueden generar así:
3.JS - Matriz (crear matriz) de tres maneras
Método 1. Crear una matriz: la forma más sencilla (empujar)
Método 2. Crear un método de matriz-mapa
Método 3. Crear una matriz: Array.from La segunda función de inicialización devuelve datos
La representación es la siguiente:
1.Operaciones de matriz
En primer lugar, debe prestar atención y recordar splice、sort、reverse
que estos tres métodos comunes operan en la matriz misma y cambiarán la matriz misma. Otros métodos que se cambian a sí mismos son agregar push/pop/unshift/shift
, eliminar, rellenar fill
y copiar relleno copyWithin
.
2. Genere una matriz como [1-100]
Al probar una serie de grandes cantidades de datos, se pueden generar así:
// fill
const arr = new Array(100).fill(0).map((item, index) => index + 1)
// Array.from()
const arr = Array.from(Array(100), (v, k) => k + 1)
// ... + array.keys()
const ary = [...Array(100).keys()]
new Array(100) 会生成一个有100空位的数组,
这个数组是不能被map(),forEach(), filter(),
reduce(), every() ,some()遍历的,
因为空位会被跳过(for of不会跳过空位,可以遍历)。
[...new Array(4)] 可以给空位设置默认值undefined,
从而使数组可以被以上方法遍历。
3.JS - Matriz (crear matriz) de tres maneras
Las siguientes tres formas:
Método 1. Crear una matriz: la forma más sencilla (empujar)
Utilice un bucle for para insertar en la matriz uno tras otro
function createData1() {
const data1 = [];
for (let i = 0; i < 10; i++) {
data1.push({
name: `name${i + 1}`,
});
}
return data1;
}
const data1 = createData1();
console.log('第二个输出');
console.log(data1);
Método 2. Crear un método de matriz-mapa
- Map (
map
) es una colección de pares {clave, valor}, organizados por algún predicado que compara las relaciones de tamaño de clave.
function createData2() {
// 如果不 fill 循环默认会跳过空值
return new Array(10).fill(null).map((v, i) => ({ name: `name${i + 1}` }));
}
const data2 = createData2();
console.log('第三个输出');
console.log(data2);
Método 3. Crear una matriz: Array.from La segunda función de inicialización devuelve datos
function createData3() {
return Array.from({ length: 10 }, (v, i) => ({ name: `name${i + 1}` }));
}
const data3 = createData3();
console.log('第四个输出');
console.log(data3);
La representación es la siguiente:
第二个输出
[
{ name: 'name1' },
{ name: 'name2' },
{ name: 'name3' },
{ name: 'name4' },
{ name: 'name5' },
{ name: 'name6' },
{ name: 'name7' },
{ name: 'name8' },
{ name: 'name9' },
{ name: 'name10' }
]
第三个输出
[
{ name: 'name1' },
{ name: 'name2' },
{ name: 'name3' },
{ name: 'name4' },
{ name: 'name5' },
{ name: 'name6' },
{ name: 'name7' },
{ name: 'name8' },
{ name: 'name9' },
{ name: 'name10' }
]
第四个输出
[
{ name: 'name1' },
{ name: 'name2' },
{ name: 'name3' },
{ name: 'name4' },
{ name: 'name5' },
{ name: 'name6' },
{ name: 'name7' },
{ name: 'name8' },
{ name: 'name9' },
{ name: 'name10' }
]