método js_array

Hay muchos métodos de matriz, consulte la siguiente tabla

función efecto
unirse() Convierta todos los elementos de la matriz en cadenas y concatenelos
clasificar() Ordenar los elementos en la matriz.
contrarrestar() Invertir el orden de los elementos en una matriz.
concat() Concatenar múltiples matrices o números para formar una nueva matriz
rebanada() Devuelve una porción o submatriz de la matriz especificada
empalme() Insertar o eliminar un elemento en una posición específica en una matriz
empujar() Agregue uno o más elementos al final de la matriz
estallido() elimina el último elemento de la matriz y devuelve ese elemento
desactivar() Agregue uno o más elementos al encabezado de la matriz
cambio() Eliminar el primer elemento de la matriz y devolver ese elemento
Encadenar() Devuelve una cadena que convierte cada elemento de la matriz en una cadena y lo concatena con comas.
para cada() Itera a través de la matriz de principio a fin, llamando a la función especificada para cada elemento.
mapa() Pase cada elemento de la matriz llamada a la función especificada y devuelva una matriz
filtrar() Filtre los elementos de la matriz de acuerdo con la lógica en la función de devolución de llamada y devuelva una nueva matriz
cada() Aplique la función especificada a los elementos de la matriz para juzgar y devolver verdadero o falso
alguno() Aplique la función especificada a los elementos de la matriz para juzgar y devolver verdadero o falso
reducir() Combina elementos de matriz usando la función especificada
reducirDerecha() Combina elementos de matriz usando la función especificada
índice de() Determinar la posición del índice de un número en la matriz.
último índice de() Determinar la posición del índice de un número en la matriz.
encontrar() Recorra la matriz para encontrar el primer elemento que coincida con la función de devolución de llamada
encontrar índice() Itere a través de la matriz y encuentre el índice del primer elemento que coincida con la función de devolución de llamada
llenar() utilizado para llenar la matriz
incluye() Compruebe si hay un número en la matriz

1、unirse()

join()El método se utiliza principalmente para concatenar todos los elementos de la matriz en una cadena y devolver la cadena.

Parámetros (1 en total):

  1. El primer parámetro: es un parámetro opcional, que representa el símbolo de conexión entre cada elemento de la matriz. Si se omite este parámetro, el valor predeterminado es una coma.

join()ejemplo de uso del método

var arr = [1, 2, 3, 4]

arr.join()              //返回 "1,2,3,4"

arr.join('-')           //返回 "1-2-3-4"

2、ordenar()

sort()El método consiste en ordenar cada elemento de la matriz de acuerdo con ciertas condiciones y devolver la nueva matriz ordenada (la matriz original se cambiará)

Parámetros (1 en total):

  1. El primer parámetro: un parámetro opcional, que es una función de devolución de llamada, y la función de devolución de llamada debe pasar dos parámetros ay b. Cuando la función de devolución de llamada devuelve un número menor que 0, los parámetros ase ordenarán primero; cuando devuelve un número mayor que 0, los parámetros bse ordenarán primero; cuando devuelve 0, los dos valores no se compararán ni ordenarán . Si se omite este parámetro, cada elemento se organiza en orden alfabético.

sort()ejemplo de uso del método

var arr = ['cherry', 'apple', 'banana']

arr.sort()           //未传入回调函数作为参数

console.log(arr)     //返回  ['apple', 'banana', 'cherry']

En este ejemplo, se omite el primer parámetro, por lo que la clasificación se realiza en orden alfabético de forma predeterminada y, si las primeras letras son iguales, se ordenan en el orden de la segunda letra.

A continuación, veamos el uso detallado del primer parámetro.

var arr = [54, 78, 12, 64]

arr.sort(function (a, b) {
    return a - b
})

console.log(arr)        //返回  [12, 54, 64, 78]  升序排列

Llamar sort()al método tomará dos números de la matriz cada vez, como parámetros ay parámetros respectivamente b. Si la función de devolución de llamada tiene returnun número negativo, el parámetro aestará al frente; si es returnun número positivo, el parámetro bestará al frente ; si return 0, los dos números no se ordenarán.

Este ejemplo implementa el orden ascendente.

Luego, si a - blo cambia a b - a, puede lograr un orden descendente

var arr = [54, 78, 12, 64]

arr.sort(function (a, b) {
    return b - a
})

console.log(arr)        //返回  [78, 64, 54, 12]  降序排列

3、inversa()

reverse()El método consiste en invertir los elementos de la matriz y devolver la matriz invertida (se cambiará la matriz original)

Este método es muy sencillo, solo mira el ejemplo.

var arr = [54, 78, 12, 64]

arr.reverse()

console.log(arr)       //返回  [64, 12, 78, 54]

Este método no es más que convertir la matriz en una matriz invertida.

4、concat()

concat()El método llamará a cada parámetro para crear y devolver una matriz (la matriz original no se cambiará)

Este método puede omitir parámetros o pasar varios parámetros.

Cuando se omite el parámetro, significa crear una nueva matriz vacía, y los datos de la matriz original se pasan a esta matriz vacía, lo que tiene una sensación similar; copycuando  se  pasan uno o más parámetros, significa crear una nueva matriz vacía, agregando los datos de la matriz original y cada parámetro a esta matriz vacía.

A continuación, veamos un ejemplo específico: primero, no se pasan parámetros.

var arr = [1,2,3,4]

var new_arr = arr.concat()

console.log(new_arr)       //返回  [1,2,3,4]

Veamos el ejemplo de pasar parámetros.

var arr = [1,2,3,4]

var new_arr = arr.concat(5,6,7,8)

console.log(new_arr)     //返回  [1,2,3,4,5,6,7,8]

Como dice la definición, los parámetros entrantes también se agregan como miembros de la matriz recién creada.

De hecho, también podemos pasar una matriz como parámetro de este método y finalmente agregar cada elemento de la matriz a una nueva matriz.

var arr = [1,2,3,4]

var new_arr = arr.concat([5,6,7,8])

console.log(new_arr)     //返回  [1,2,3,4,5,6,7,8]

Sin embargo, si hay matrices anidadas en la matriz, la matriz anidada se agregará a la nueva matriz como un todo. En resumen, es decir, este método solo puede dividir una capa de parámetros de matriz.

var arr = [1,2,3,4]

var new_arr = arr.concat([5,6,7,8,[9,10]])

console.log(new_arr)     //返回  [1,2,3,4,5,6,7,8,[9,10]]

Se puede ver claramente que la matriz anidada [9,10]no se desmonta ni se agrega a la nueva matriz, sino que se agrega a la nueva matriz como un todo.

5、rebanada()

slice()El método consiste en devolver un fragmento de matriz especificado por

Este método tiene dos parámetros, que representan respectivamente la posición inicial y la posición final del segmento de matriz. El primer parámetro no se puede omitir y el segundo parámetro se puede omitir.

Veamos un ejemplo del uso de este método.

var arr = [1,2,3,4,5,6,7]

arr.slice(1,3)                //返回  [2,3]
arr.slice(3)                  //返回  [4,5,6,7]
arr.slice(4,-1)               //返回  [5,6]
arr.slice(-3)                 //返回  [5,6,7]
arr.slice(-3,-2)              //返回  [5]

El segundo parámetro indica la posición final del segmento de la matriz, por lo que el segmento recuperado es el elemento anterior desde la posición indicada por el primer parámetro hasta la posición indicada por el segundo parámetro.

Si se omite el segundo parámetro, significa tomar desde la posición indicada por el primer parámetro hasta el último elemento.

Cuando se utilizan números negativos para indicar la posición de los elementos, se cuentan desde el final hacia el frente, que son -1, -2, -3...

6, empalme ()

splice()El método inserta o elimina elementos en la posición especificada de la matriz y devuelve una matriz de elementos eliminados (la matriz original se cambiará)

Parámetros (3 en total):

  1. El primer parámetro : la posición inicial del elemento eliminado o insertado.

  2. El segundo parámetro : la cantidad de elementos que deben eliminarse de la posición inicial. Si se omite este elemento, significa que se eliminan todos los elementos desde la posición inicial hasta el final.

  3. El tercer parámetro y todos los parámetros posteriores : inserte el valor como elemento de la matriz en la posición indicada por el primer parámetro en secuencia

Vayamos directamente a algunos ejemplos sencillos.

var arr = [1,2,3,4,5,6,7]

arr.splice(4)             //返回 [5,6,7],此时arr为[1,2,3,4]

arr.splice(1, 2)          //返回 [2,3],此时arr为[1,4]

arr.splice(1, 0, 'new1', 'new2') //返回[],此时arr为[1,'new1','new2',4]

Esta es una función de operación de matriz muy conveniente y con todas las funciones , que puede eliminar elementos e insertar elementos.

7、empujar()

push()El método consiste en agregar uno o más elementos al final de la matriz y devolver la longitud de la matriz (cambiará la matriz original)

La función tiene 1 o más parámetros, y la función obtiene cada parámetro por turno y lo inserta al final de la matriz.

Vaya directo al ejemplo

var arr = []

arr.push(1)       //返回 1, 此时arr为 [1]

arr.push(5)       //返回 2, 此时arr为 [1,5]

arr.push(3,2)     //返回 4, 此时arr为 [1,5,3,2]

8、pop()

pop()El método consiste en eliminar el último elemento de la matriz y devolver el elemento (cambiará la matriz original)

Esta función no necesita pasar ningún parámetro.

Echemos un vistazo a un ejemplo.

var arr = [6,8,7]

arr.pop()          //返回 7, 此时arr为 [6,8]

arr.pop()          //返回 8, 此时arr为 [6]

9、desplazar()

unshift()El método consiste en agregar uno o más elementos al principio de la matriz y devolver la longitud de la matriz (cambiará la matriz original)

La función tiene uno o más parámetros, y la función obtiene cada parámetro por turno y lo inserta al frente de la matriz.

Veamos algunos ejemplos.

var arr = []

arr.unshift(1)       //返回 1, 此时arr为 [1]

arr.unshift(5)       //返回 2, 此时arr为 [5,1]

arr.unshift(3,2)     //返回 4, 此时arr为 [2,3,5,1]

10、cambio()

shift()El método consiste en eliminar el primer elemento de la matriz y devolver el elemento (cambiará la matriz original)

Esta función no necesita pasar ningún parámetro.

Echemos un vistazo a un ejemplo.

var arr = [6,8,7]

arr.shift()          //返回 6, 此时arr为 [8,7]

arr.shift()          //返回 8, 此时arr为 [7]

arr.shift()          //返回 7, 此时arr为 []

11、toString()

toString()El método consiste en devolver una cadena que convierte cada elemento de la matriz en una cadena y lo separa con comas (la matriz original no se cambiará)

Si encuentra una matriz anidada en una matriz, cada elemento de la matriz anidada también se convertirá en una cadena y se concatenará

Veamos algunos ejemplos.

[1,2,3].toString()              //返回 '1,2,3'

['cherry','apple','bannana'].toString()    //返回 'cherry,apple,banana'

[1,2,[6,7]].toString()          //返回 '1,2,6,7'

[1,[3,6,[8,9]]].toString()      //返回 '1,3,6,8,9'

12、para cada()

forEach()El método es nuevo en ES5, se utiliza para llamar a la función especificada para cada elemento (la matriz original se puede modificar)

Este método tiene solo un parámetro, que es una función de devolución de llamada. La función de devolución de llamada tiene tres parámetros. El significado de estos tres parámetros es el elemento de la matriz  , el índice del elemento  y la matriz misma.

Veamos un ejemplo, ahora se requiere asignar cada elemento en una matriz a+2

var a = [1,2,3,4,5]

a.forEach(function (value, index, arr) {
    arr[index] = value + 2
})

console.log(a)          // [3,4,5,6,7]

Veamos otro ejemplo, calculemos la suma de los elementos de la matriz.

var a = [1,2,3,4,5]
var sum = 0

a.forEach(function(value) {
 sum += value
})

console.log(sum)       // 15

13、mapa()

map()ES5 agregó recientemente el método. Pasa cada elemento de la matriz llamada a la función especificada, almacena el valor de retorno de cada función de devolución de llamada en una nueva matriz y finalmente devuelve la nueva matriz (no cambiará la matriz original).

Este método tiene solo un parámetro, que es una función de devolución de llamada , y la función de devolución de llamada tiene solo un parámetro, lo que significa cada elemento de la matriz.

Veamos un ejemplo, devuelva una nueva matriz, cada elemento de la matriz es el cuadrado de cada elemento de la matriz original

var arr = [1,2,3,4,5]

var new_arr = arr.map(function (value) {
    return value * value
})

console.log(new_arr)      //  [1, 4, 9, 16, 25]

14、filtro()

filter()ES5 agregó recientemente el método, que es equivalente a un filtro . Filtra los elementos innecesarios mediante el juicio lógico en la función de devolución de llamada , y luego coloca los elementos restantes en una nueva matriz y los devuelve (no cambiará la matriz original).

Este método tiene solo un parámetro, que es una función de devolución de llamada . La función de devolución de llamada tiene dos parámetros, cuyo significado son los elementos de la matriz  y  el índice del elemento.

Cuando el valor de retorno de la función de devolución de llamada truees, return trueinmediatamente , el elemento se agregará a la nueva matriz; de lo contrario, el elemento no se agregará a la nueva matriz

Veamos un ejemplo a continuación. El requisito es: seleccionar todos los elementos menores de 6 en la matriz, guardarlos en la matriz y regresar

var arr = [6, 12, 7, 1, 9, 3, 0, 19]

var new_arr = arr.filter(function (value) {
    return value < 6
})

console.log(new_arr)        // [1, 3, 0]

Veamos otro ejemplo. El requisito es: sacar los elementos en una posición uniforme en una matriz y guardarlos en una nueva matriz y regresar

var arr = [6,12,7,1,9,3,0,19]

var new_arr = arr.filter(function (value, index) {
    return index % 2 === 0
})

console.log(new_arr)       // [6, 7, 9, 0]

15、cada()

every()El método es un juicio lógico para una matriz (la matriz original no cambiará)

Este método tiene un parámetro, que es una función de devolución de llamada , y la función de devolución de llamada tiene un parámetro, que significa cada elemento de la matriz.

Cuando el valor de retorno de cada elemento que llama a la función de devolución de llamada es todo ,true regresará al final true; por el contrario, siempre que haya un elemento que llame a la función de devolución de llamada, el valor devuelto no lo es truey regresará al final.false

Veamos un ejemplo. Requisito: determinar si cada elemento de la matriz es menor que 10

var arr = [1,2,3,4,5,6,7,8]

var result = arr.every(function (value) {
    return value < 10
})

console.log(result)          // true, 表示该数组所有元素都小于10

Cambiemos arralgunos elementos y luego veamos los resultados de la operación del código.

var arr = [1, 2, 3, 4, 5, 6, 12, 8]

var result = arr.every(function (value) {
    return value < 10
})

console.log(result)       // false, 表示该数组中有某个元素不小于10

16、algunos()

some()El método every()es similar al método, pero el juicio lógico es ligeramente diferente: el primero es que siempre que uno de los valores de retorno después de que cada elementotrue llame a la función de devolución de llamada sea , eventualmente devolverá true; de lo contrario, solo el valor de retorno después de que cada elemento llama a la función de devolución de llamada , es todo el tiempofalse , solo para regresar al finalfalse

Vayamos directamente al ejemplo. El requisito es: determinar si hay elementos en la matriz12

var arr = [3, 8, 9, 45, 12]

var result = arr.some(function (value) {
    return value === 12
})

console.log(result)      // true, 表示该数组中有元素12

Después de eliminar arrlos elementos de la matriz 12, echemos un vistazo a los resultados devueltos.

var arr = [3, 8, 9, 45]

var result = arr.some(function (value) {
    return value === 12
})

console.log(result)      // false, 表示该数组中并没有元素12

17、reducir()

reduce()El método consiste en combinar los elementos de la matriz llamando a la función de devolución de llamada especificada y devolver el valor combinado (la matriz original no se cambiará)

Parámetros (2 en total):

  1. El primer parámetro : es la función de devolución de llamada, que se utiliza para procesar los elementos de la matriz. La función de devolución de llamada tiene dos parámetros x, ylos cuales son elementos miembros de la matriz de llamada.

  2. El segundo parámetro : es un parámetro opcional, como valor inicial pasado a la función de devolución de llamada. Si se omite este parámetro, el primer número de la matriz se utilizará como valor inicial.

Cuando se omite el segundo parámetro, cuando el método llama a la función de devolución de llamada por primera vez, el primer elemento de la matriz se usa como el valor del primer parámetro de la función de devolución de llamada, y el segundo elemento de la matriz se usa como xel segundo valor de la función de devolución de llamada yvalor de . Luego ejecute el código en la función de devolución de llamada, use returnel valor final como el xvalor del primer parámetro de la siguiente llamada a la función de devolución de llamada, y luego use el tercer elemento de la matriz como el valor ydel parámetro... y así sucesivamente. Hasta que todos los elementos de la matriz sean llamados, el valor de la última llamada a la función de devolución de llamada se utilizará returncomo valor de retorno final.

Si se asigna un valor al segundo parámetro, cuando se llama a la función de devolución de llamada por primera vez, el valor del segundo parámetro se usa como el valor del primer parámetro de la función de devolución de llamada y se usa el primer parámetro de la matriz x. como devolución de llamada El valor del segundo parámetro yde la función... las siguientes operaciones son las mismas que las anteriores y no se repetirán aquí

Veamos un ejemplo. El requisito es: multiplicar cada elemento de la matriz y devolver el valor final.

var arr = [1,2,3,4,5,6]

var result = arr.reduce(function (x, y) {
    return x * y
})

console.log(result)          // 720

Veamos otro ejemplo. El requisito es: un array almacena las edades de 5 alumnos de una clase, ahora es necesario calcular la suma de las edades de estos 5 alumnos, y sumar la edad del profesor, la edad del profesor es 29

var arr = [10, 11, 13, 14, 12]

var result = arr.reduce(function (x, y) {
    return x + y
}, 29)         //这里将老师的年龄29作为reduce()方法的第二个参数

console.log(result)             // 89

18、reducirDerecha()

reduceRight()El método reduce()es similar al método, la única diferencia es que este último se llama de izquierda a derecha cuando se llaman los elementos de la matriz; el primero se llama de derecha a izquierda. No entraré en demasiadas explicaciones aquí.

19、índice de()

indexOf()El método consiste en obtener el índice de un elemento en la matriz y solo devolver el índice del primer elemento coincidente ; si el elemento no está en la matriz, devuelve -1 (la matriz original no se cambiará)

Parámetros (2 en total):

  1. El primer parámetro : requerido, es el elemento a consultar.

  2. El segundo parámetro : es un parámetro opcional, que indica dónde comenzar a buscar en la matriz.

Veamos un ejemplo. El requisito es: los estudiantes de una clase se organizan y almacenan en una matriz según sus calificaciones de mayor a menor, y ahora la consulta se 张三clasifica en la clase.

var arr = ['小红', '小明', '张三', '李四', '王五']

var index = arr.indexOf('张三') + 1

console.log(index)          // 3, 表示张三成绩排名第三

Cambiemos los requisitos del ejemplo anterior, el requisito actual es: hay dos en la clase 张三, y se sabe que el que tiene mejores calificaciones 张三ocupa el primer lugar en la clase 张三.

var arr = ['张三', '小红', '小明', '张三', '李四', '王五']

//给indexOf()方法的第二个参数赋值1,表示从数组的第二个元素开始找
var index = arr.indexOf('张三', 1) + 1 

console.log(index)          // 4, 表示成绩差点的张三排名第四

Veamos otro ejemplo. El requisito es: juzgar si esta persona está en esta clase 小王, si el indexOf()método de llamada devuelve -1, significa que 小王no está en esta clase; de ​​lo contrario, significa que está 小王en esta clase

var arr = ['小红', '小明', '张三', '李四', '王五']

var index = arr.indexOf('小王')

if(index === -1) {
    console.log('false')
}
else {
    console.log('true')
}

//  false

20、último índice de()

lastIndexOf()El método es indexOf()similar a , la única diferencia es que el primero comienza a buscar desde el final de la matriz, mientras que el segundo comienza a buscar desde el principio de la matriz. Así que aquí hay demasiadas explicaciones del método.

21、buscar()

find()ES6 agregó recientemente el método que atraviesa la matriz, encuentra y devuelve el primer elemento que cumple con la función de devolución de llamada (la matriz original se puede cambiar a través de algunos parámetros de la función de devolución de llamada)

Este método tiene solo un parámetro, que es una función de devolución de llamada. La función de devolución de llamada tiene tres parámetros y sus significados son: elemento de matriz  , índice de elemento  , matriz misma

Este método atraviesa cada elemento de la matriz y llama a la función de devolución de llamada por turno, y trueel elemento devuelto primero por la función de devolución de llamada se utiliza como valor de retorno final.

Veamos un ejemplo. El requisito es: en una matriz, encontrar el primer elemento mayor que 10

var arr = [1, 7, 3, 10, 12, 20]

var result = arr.find(function (value) {
    return value > 10
})

console.log(result)   // 12, 表示数组中找到的第一个比10大的元素为12

22、buscar índice()

findIndex()El método también es un nuevo método de ES6, que atraviesa la matriz y encuentra el índice del primer elemento que cumple con la función de devolución de llamada (la matriz original no cambiará)

Este método tiene solo un parámetro, que es el elemento de la matriz.

Vayamos directamente al ejemplo. El requisito es: averiguar el índice del primer elemento mayor que 9 en una matriz

var result = [3, 4, 10, 8, 9, 0].findIndex(function (value) {
    return value > 9
})

console.log(result)   // 2,表示该数组中第一个大于9的元素索引为2

23、rellenar()

fill()El método es un nuevo método de ES6, que se utiliza para llenar la matriz (cambiará la matriz original)

Parámetros (3 en total):

  1. El primer parámetro : representa el valor utilizado para llenar la matriz.

  2. El segundo parámetro : un parámetro opcional, que indica la posición inicial de llenado.

  3. El tercer parámetro : un parámetro opcional, que indica la posición final del llenado. Si se omite este parámetro y se completa el segundo parámetro, significa que todos los elementos desde la posición inicial hasta el final están llenos.

Veamos algunos ejemplos simples para comprender el uso de este método.

[1,2,3,4,5].fill(6)         //返回 [6, 6, 6, 6, 6]

[1,2,3,4,5].fill(6, 2)      //返回 [1, 2, 6, 6, 6]

[1,2,3,4,5].fill(6, 2, 3)   //返回 [1, 2, 6, 4, 5]

24、incluye()

includes()El método también es un método muy práctico agregado por ES6: juzga si un número está en la matriz (no cambiará la matriz original)

Parámetros (2 en total):

  1. El primer parámetro : este parámetro es el número que debe juzgarse si existe en la matriz.

  2. El segundo parámetro : indica la posición inicial de la búsqueda, el valor predeterminado es 0, es decir, la búsqueda comienza desde el principio. Si es un número negativo, significa comenzar a buscar desde el penúltimo número. Si la posición de entrada excede la longitud de la matriz, el valor predeterminado sigue siendo 0.

Veamos un ejemplo. El requisito es: determinar bananasi está en la matriz.

var arr = ['chery', 'banana', 'apple', 'watermelon']

var result = arr.includes('banana')

console.log(result)    //true, 表示banana在数组中

Echemos un vistazo a cómo se ve después de agregar el segundo parámetro.

var arr = ['chery', 'banana', 'apple', 'watermelon']

var result = arr.includes('banana', -2) //表示从倒数第二个开始找

console.log(result) //false, 表示从倒数第二个开始找,没有找到banana

Supongo que te gusta

Origin blog.csdn.net/qq_41916378/article/details/109983019
Recomendado
Clasificación