Api de uso común de matriz JS (preguntas de entrevista de front-end)

Método estático:

Array.of(…args): 使用指定的数组项创建一个新数组
Array.from(arg): 通过给定的类数组 或 可迭代对象 创建一个新的数组。
const arr = Array.of(5);//值为5,length为1
const arr1 = new Array(10);//length为10的空数组
console.log(arr);
console.log(arr1);

Otras API se dividen en funciones específicas:

Uno, agregue

1. El método push () agrega uno o más elementos al final de la matriz y devuelve la nueva longitud de la matriz.

2. El método unshift () agrega uno o más elementos al comienzo de la matriz y devuelve la longitud de la nueva matriz.

2. Eliminar

1. El método pop () elimina el último elemento de la matriz y devuelve el valor de ese elemento. Este método cambia la longitud de la matriz.

2. El método shift () elimina el primer elemento de la matriz y devuelve el valor de ese elemento. Este método cambia la longitud de la matriz.
Tres, operación

1. El método concat () se utiliza para fusionar dos o más matrices. Este método no cambia la matriz existente, pero devuelve una nueva matriz.

var color = ['rojo', 'verde', 'azul'];
var color2 = color.concat ('amarillo', ['negro', 'blanco']);
console.log (color2) // rojo, verde, azul, amarillo, negro, blanco

2. El método slice () devuelve una copia superficial de una parte de la matriz seleccionada de principio a fin (sin incluir el final) a un nuevo objeto de matriz, la matriz original no se modificará.

var colors = ['rojo', 'verde', 'azul', 'negro', 'blanco'];
var colors2 = colors.slice (1) // verde, azul, negro, blanco
var colors3 = colors.slice (1,4) // verde, azul, negro

3. El método splice () siempre devuelve una matriz que contiene elementos eliminados de la matriz original (si no se elimina ningún elemento, se devuelve una matriz vacía), el más versátil, hay tres tipos de la siguiente manera

删除:需指定2个参数,要删除的第一项位置和要删除的项数
插入:需提供3个参数,起始位置、0(要删除的项数)和要插入的项,如要插入多个项 ,再传入第四,五...
替换:需指定3个参数,起始位置、要删除的项数和要插入的任意数量的项

var colors = ['rojo', 'verde', 'azul'];
var eliminado = colors.splice (0,1);
console.log (colores); // verde, azul
console.log (eliminado); //rojo

var eliminado = colores.splice (1,0, 'negro');
console.log (colores); // verde, negro, azul
console.log (eliminado); // devuelve una matriz vacía

var eliminado = colors.splice (0,2, 'amarillo', 'blanco');
console.log (colores); // amarillo, blanco, azul
console.log (eliminado); //rojo verde

Cuatro, método de ubicación

El método indexOf () busca hacia atrás desde el principio de la matriz (posición 0),

El método lastIndexOf () busca hacia adelante desde el final de la matriz,

Ambos métodos reciben dos parámetros: el elemento a buscar y (opcional) el índice que indica la posición de inicio de la búsqueda. Si no se encuentra, devuelve -1.
5. Método de reordenación

El método sort () clasifica los elementos de la matriz en orden ascendente, es decir, el valor más pequeño está en la parte superior y el valor más grande en la parte posterior.

reverse () ordenar en orden descendente;

Nota: Si no se utilizan parámetros al llamar a este método, los elementos de la matriz se ordenarán alfabéticamente, para ser más precisos, se ordenarán en el orden de codificación de caracteres. Para lograr esto, primero convierta todos los elementos de la matriz en cadenas (si es necesario) para comparar, y luego reciba una función de comparación como parámetro, de modo que podamos especificar qué valor está delante de qué valor;

función comparar (val1, val2) {

if(val1 < val2){
    return -1;
}else if(val1 > val2){
    return 1;
}else {
    return 0
}

}
var val = [0,1,35,2,18];
console.log (val.sort (comparar)); // 0,1,2,18,35 console.log
(val.reverse (comparar)); // 35,18,2,1,0

console.log (val.sort ()); // 0,1,18,2,35 console.log
(val.reverse ()); // 35,2,18,1,0

Seis, método iterativo

1. forEach (), ejecuta una función determinada en cada elemento de la matriz, este método no tiene valor de retorno. Esencialmente es lo mismo que usar un bucle for para iterar sobre una matriz

2. map () crea una nueva matriz, y el resultado es el resultado devuelto después de que cada elemento de la matriz llame a una función proporcionada.
Siete, método de conversión

1. El método toString () devuelve una cadena separada por comas formada por la concatenación de la forma de cadena de cada valor en la matriz.

2. ValueOf () devuelve una matriz

3. El método toLocaleString () también devuelve una cadena separada por comas formada al concatenar la forma de cadena de cada valor en la matriz.

la diferencia:

var fecha = nueva fecha ();
console.log (date.valueOf ()); // 1524815456865 console.log
(date.toString ()); // Vie 27 de abril de 2018 15:50:56 GMT + 0800 (CST)
console.log (date.toLocaleString ()); // 2018/4/27 下午 3:50:56

var num = new Number (1337);
console.log (num.valueOf ()); // 1337, devuelve el valor numérico básico de un objeto Number
console.log (num.toString ()); // 1337, string
console .log (num.toLocaleString ()); // 1337, convierte el número en una cadena, usando la secuencia de formato de número local

Nota:

toLocalString()是调用每个数组元素的 toLocaleString() 方法,然后使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串。

toString()方法获取的是String(传统字符串),而toLocaleString()方法获取的是LocaleString(本地环境字符串)。

如果你开发的脚本在世界范围都有人使用,那么将对象转换成字符串时请使用toString()方法来完成。

LocaleString()会根据你机器的本地环境来返回字符串,它和toString()返回的值在不同的本地环境下使用的符号会有微妙的变化。

所以使用toString()是保险的,返回唯一值的方法,它不会因为本地环境的改变而发生变化。如果是为了返回时间类型的数据,推荐使用LocaleString()。若是在后台处理字符串,请务必使用toString()。

Supongo que te gusta

Origin blog.csdn.net/weixin_49549509/article/details/109207127
Recomendado
Clasificación