El tipo de matriz es el tipo de referencia más utilizado en ECMAScript. Los datos en ECMAScript son bastante diferentes de las matrices en la mayoría de los otros idiomas. Aunque los datos en ECMAScript son una lista ordenada de datos como matrices en otros idiomas, la diferencia es que cada elemento en una matriz de ECMAScript puede contener cualquier tipo de datos, ya sea un valor numérico, cadena u objeto. Al mismo tiempo, el tamaño de la matriz en ECMAScript se puede ajustar dinámicamente, es decir, puede crecer automáticamente de acuerdo con la adición de datos para acomodar los datos recién agregados. A continuación se muestra un resumen de las funciones de operación de uso común y los usos de matrices en JavaScript.
• Crear una matriz
Hay dos métodos principales para crear matrices: literales de constructor y matrices, como se muestra a continuación:
var arr = new Array (); var arr = [];
Para el constructor, podemos pasar un valor numérico para crear una matriz que contenga el número dado de términos, como sigue:
var arrr = nueva matriz (3); // La longitud de la matriz es 3
También puede pasar directamente los valores almacenados en la matriz, como sigue:
var arrr = new Array ("rojo", "verde", "azul");De cualquier manera, se recomienda usar literales de matriz para crear matrices.
• Matriz de detección
Para un entorno de ejecución global único, el operador de instancia puede detectar si es una matriz, por ejemplo:
var arr = [1,2,3]; console.log (Arr InstanceOf Array); //verdadero
Sin embargo, si la página web contiene múltiples marcos, también contiene múltiples entornos de ejecución global. ES5 ha agregado el método Array.IsArray () para determinar si un valor es una matriz, independientemente de qué entorno de ejecución global se creó, de la siguiente manera:
if (array.isArray (arr)) {// realizar algunas operaciones}• Conversión de cadenas de matriz
Cada objeto tiene métodos tolocaleString (), toString () y valueOf (). Llamar al método toString () de la matriz devolverá una cadena empalmada en forma de una cadena de cada valor en la matriz y separada por comas. Llamar al método valueOf () de la matriz devolverá una matriz, pero de hecho se llama método toString () de cada elemento en la matriz, como sigue:
var arr = ["rojo", "verde", "azul"]; console.log (arr.ToString ()); // rojo, verde, azul console.log (arr.valueOf ()); // rojo, verde, consola azul.log (arr); // rojo, verde, azul
El método TOLOCALECRING () de la matriz es diferente de toString () que llamará al método tOLOCALECTRING () de cada elemento en la matriz, y empalme el valor de retorno de cada ítem tolocaleString () en una cadena separada por comas. Usando el método Join (), puede usar diferentes separadores para construir esta cadena, de la siguiente manera:
var arr = ["rojo", "verde", "azul"]; console.log (arr.join (",")); // rojo, verde y azul console.log (arr.join ("||")); // rojo || verde || azul• Agregar y eliminar matrices
El método push () recibe cualquier número de parámetros, los agrega uno por uno al final de la matriz y devuelve la longitud de la matriz modificada, por ejemplo:
var arr = [1,2,3]; arr.push (4,5); console.log (arr); // [1,2,3,4,5]
En contraste con push () es el método pop (), que elimina el último elemento del final de la matriz y devuelve el elemento eliminado, por ejemplo:
var arr = [1,2,3]; arr.pop (); // 3 arr.pop (); // 2 console.log (arr); // [1]
Los otros dos métodos utilizados son Shift () y Unshift (), que son similares a Pop () y Push (). El método shift () se usa para eliminar elementos de la posición de inicio de la matriz y devolver los elementos eliminados, por ejemplo:
var arr = [1,2,3]; arr.hift (); // 1 arr.hift (); // 2 console.log (arr); // [3]
El método unshift () es el propósito opuesto al cambio (). Puede agregar cualquier elemento a la parte delantera de la matriz y devolver la longitud de la nueva matriz, por ejemplo:
var arr = [1,2,3]; arr.unshift (4); // Longitud de retorno 4 arr.unshift (5); // return longitud 5 console.log (arr); // [1,2,3,4,5]
• Flip y una especie de matrices
El método FLIP proporcionado por la matriz es Reverse (), que invertirá el orden de los elementos de datos, por ejemplo:
var arr = [1,2,3]; arr.reverse (); console.log (arr); // [3,2,1]
Sort () también puede clasificar las matrices, pero su método de clasificación predeterminado no es del tamaño, sino que se clasifica uno por uno de acuerdo con la cadena correspondiente. El método sort () puede recibir una función de comparación y realizar una clasificación personalizada, por ejemplo:
función compare (value1, value2) {return value1-value2; } var arr = [1,3,2,5,4]; arr.sort (comparar); console.log (arr); // [1,2,3,4,5]• Conexión de matriz
El método concat () creará una copia de la matriz actual, luego agregue los parámetros recibidos al final de la copia y finalmente devolverá la matriz recién construida, con la matriz original sin cambios, por ejemplo:
var arr = [1,2,3]; var arr2 = arr.concat (4, [5,6]); console.log (arr); // [1,2,3] console.log (arr2); // [1,2,3,4,5,6]
• Segmentación de matriz
El método SLICE () recibe uno o dos parámetros, es decir, las posiciones de inicio y finalización del elemento que se devolverán. Si solo se necesita un parámetro, se devuelven todos los elementos desde la posición especificada hasta el final de la matriz. Si se reciben dos parámetros, se devuelven todos los elementos entre las posiciones de inicio y final, pero los elementos que no incluyen las posiciones finales, por ejemplo:
var arr = [1,2,3,4,5]; var arr2 = arr.slice (1); // [2,3,4,5] var arr3 = arr.slice (1,3); // [2,3]
Tenga en cuenta que el método Slice () no afectará la matriz original.
• Método de empalme ()
Dado que el método de empalme () es muy poderoso, lo resumiré por separado. Puede recibir tres parámetros. El primer parámetro indica la ubicación de agregar o eliminar elementos, el segundo parámetro indica el número de elementos que se eliminarán, y el segundo parámetro indica los nuevos elementos agregados a la matriz (opcional). Al proporcionar diferentes parámetros, puede realizar funciones como la eliminación, la inserción y el reemplazo, como:
var arr = [1,2,3,4,5]; arr.splice (2,0,11,22); // inserta dos elementos de la posición 2, console.log (arr); // [1,2,11,22,3,4,5] arr.splice (2,2,33,44); // Eliminar dos elementos de la posición 2, inserte dos elementos y devuelva el elemento eliminado console.log (arr); // [1,2,33,44,4,5] arr.splice (1,1); // Eliminar un elemento de la posición 1 y devolver el elemento eliminado console.log (arr); // [1,33,44,4,5]
• Método de posición de matriz
ES5 proporciona dos métodos de posición: indexOf () y lastindexof (). Ambos métodos reciben dos parámetros: el elemento a encontrar y el índice que indica la ubicación del punto de partida de búsqueda (opcional). El método indexOf () mira hacia atrás desde el comienzo de la matriz, mientras que el LastIndexof () busca desde el final de la matriz, por ejemplo:
var arr = [1,2,3,4,5,4,3,2,1]; console.log (arr.indexof (4)); // 3 console.log (arr.lastindexof (4)); // 5 console.log (arr.indexof (4,4)); // 5 console.log (arr.lastindexof (4,4)); // 3
• Método de iteración de matriz
ES5 define 5 métodos iterativos, cada uno recibe dos parámetros: la función que se ejecuta en cada elemento y (opcional) el objeto de alcance que ejecuta la función: el valor que afecta esto. La función que pasa en estos métodos puede recibir tres parámetros: el valor del elemento de la matriz, el índice del elemento en la matriz y el objeto de matriz en sí.
Entre ellos, el método cada () y algunos () método son similares. Para cada método (), la función pasada debe devolver verdadero para cada elemento antes de que este método devuelva verdadero. Para algunos (), el método devuelve verdadero siempre que la función pasada devuelva verdaderas para cualquier elemento en la matriz. Los ejemplos son los siguientes:
var arr = [1,2,3,4,5,4,3,2,1]; var ever EveryResult = arr.every (function (item, index, array) {return (elemento> 2);}); console.log (Everyresult); // falso, no todos mayores que 2 var somERESULT = arr.Meome (function (item, index, array) {return (item> 2);}); console.log (Someresult); // Verdadero, si un elemento es mayor que 2El método Filter () determina si se debe incluir un elemento en la matriz devuelta en función de la función dada, por ejemplo:
var arr = [1,2,3,4,5,4,3,2,1]; var filtroResult = arr.filter (function (element, index, array) {return (elemento> 2);}); console.log (FilterResult); // [3,4,5,4,3], devuelve una matriz con todos los valores superiores a 2El método MAP () ejecuta la función dada para cada elemento en la matriz, y luego devuelve la matriz compuesta por el resultado de cada función de elemento en ejecución, por ejemplo:
var arr = [1,2,3,4,5,4,3,2,1]; var mapResult = arr.map (function (item, index, array) {return item*2;}); console.log (mapResult); // [2,4,6,8,10,8,6,4,2], multiplique cada elemento en la matriz original por 2 y regreseEl último método es foreach (), que ejecuta la función dada solo en cada elemento en la matriz, sin un valor de retorno, por ejemplo:
var arr = [1,2,3,4,5,4,3,2,1]; arr.forEach (function (item, index, array) {// realizar algunas operaciones});• Método de reducción de matrices
ES5 también proporciona dos métodos para reducir las matrices: reducir () y reduceRight (). Ambos métodos iteran sobre todos los elementos en la matriz y devuelven un valor final. Reduce () transversa gradualmente desde el primer elemento hasta el último elemento, reduce () () atraviesa desde el último elemento hasta el final del primer elemento. Ambas funciones reciben cuatro parámetros: el valor anterior, el valor actual, el índice del elemento y el objeto de matriz. Cualquier valor devuelto por esta función se pasará automáticamente al siguiente elemento como el primer parámetro. Por ejemplo, use el método Reder () para encontrar la suma de todos los elementos en la matriz:
var arr = [1,2,3,4,5]; var sum = arr.reduce (function (pre, cur, index, array) {return pre+cur;}); console.log (suma); // 15La primera vez que se ejecuta la función de devolución de llamada, PRE es 1 y CUR es 2. La segunda vez, PRE es 3 (1+2) y CUR es 3. Este proceso accederá a cada elemento en la matriz y finalmente devolverá el resultado. El método Reduceright () es similar a reducir (), pero la dirección es lo contrario.
Esta nota se resume principalmente en función de la programación avanzada de JavaScript y los recursos en línea. Por favor, indíquelo si hay algún punto incompleto.
El artículo anterior se basa en el método de matriz de matriz JavaScript (una lectura obligada para principiantes) es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.