Tipo de matriz de JavaScript (objeto local)

Cambiar la matriz original: invertir, ordenar, empujar, pop, shift, unshift, splice
no cambia la matriz original: concat, join, splite, slice

Cada elemento de la matriz ECMAScript puede contener cualquier tipo de datos.
El tamaño de la matriz se puede ajustar dinámicamente, es decir, puede crecer automáticamente con la adición de datos para acomodar nuevos datos.

Hay dos formas básicas de crear una matriz:

  1. Array constructor var color = new Array (); var colors = new Array (20); length = 20
    Si conoce de antemano el número de elementos guardados, también puede pasar ese número al constructor. También puede pasar los elementos que deben estar contenidos en la matriz al constructor de la matriz.
    var colors = new Array ("azul", "verde", "rojo"); El
    nuevo operador se puede omitir cuando se utiliza el constructor Array
  2. Uso de la notación literal de matriz Los literales de matriz se representan
    mediante un par de corchetes que contienen elementos de matriz, y varios elementos de matriz están separados por comas.
    var colors = ["red", "blue", "block"];
    var name = []; crea una matriz vacía

La propiedad de longitud de la matriz es muy característica, no es de solo lectura. Puede eliminar elementos del final de la matriz o agregar nuevos elementos a la matriz. Todos los elementos nuevos no están definidos.

El problema con el operador instanceof es que supone que solo hay un entorno de ejecución global. Si la página web contiene múltiples marcos, en realidad hay más de dos entornos de ejecución global diferentes y, por lo tanto, más de dos versiones diferentes del constructor Array. Para resolver este problema, ECMAScript5 agregó el método Array.isArray (). El propósito de este método es determinar finalmente si un valor es una matriz, independientemente del entorno de ejecución global en el que se creó. if (Array.isArray (valor)) {…}

Método de conversión

Todos los objetos tienen métodos toLocationString (), toString () y valueof ().
Llamar al método toString () de una matriz devolverá una cadena separada por comas de cada valor de cadena en la matriz.
Llamar a valueof () devuelve una
alerta de matriz () para recibir parámetros de cadena, por lo que cuando se
llama al método toString () en segundo plano , también se crea el método toArrayString () de la matriz. Obtenga el método toLocationString () de la matriz, no el método toString ().

Método de pila

La pila es una estructura de datos de último en entrar, primero en salir. La inserción (inserción) y la eliminación (extracción) de elementos en la pila
devuelven la longitud de la matriz modificada de los métodos push () y pop () que ocurren en la parte superior de la pila . Insertar el último
pop () agregado a la matriz devuelve el elemento eliminado. Eliminar el último elemento de la matriz

Método de la cola

Método de cola, primero en entrar, primero en salir, la cola agrega elementos al final de la lista y elimina elementos del principio de la lista. Obtenga el elemento
shift () desde el frente de la matriz para eliminar el primer elemento de la matriz y devolver el elemento. Elimine
unshift () para agregar cualquier número de elementos al frente de la matriz y devolver la longitud de la nueva matriz. Insertar

Método de reordenamiento

reverse () y sort ()
sort () ordena de pequeño a grande, llamará al método toString () de cada elemento de la matriz, comparará la cadena resultante y habrá determinado cómo ordenar los
valores var = [0,1,5,10,15 ];
values.sort ();
alert (values); // 0,1,10,15,5
llamando al método sort () cambiará el orden original de acuerdo con los resultados de la cadena de prueba, no el mejor
método sort () de solución Puede recibir una función de comparación como parámetro, de modo que podamos especificar qué valor está delante de qué valor

function compare(value1,value2){
	if(value1 < value2){
		return -1l
	}else if(value1 > value2){
		return 1;
	}else{
		return 0;
	}
}	
var values = [0,1,5,10,15];
values.sort(compare);
alert(values);//0,1,5,10,15

Para los tipos numéricos o su método valueof () devolverá el tipo de objeto tipo numérico

function compare(value1,value2){
	return value2 - value1;
}

Método de operación

  1. El método concat () primero crea una copia de la matriz actual, agrega los parámetros recibidos al final de la copia y finalmente devuelve la matriz recién construida. (Incluir, aumentar)
  2. El método slice () recibe uno o dos parámetros, es decir, el inicio y el final del elemento a devolver. (Intercepción) No afecta la matriz original
    Un parámetro, devuelve todos los elementos desde la posición especificada al final de la matriz actual
    Dos parámetros, devuelve los elementos entre el inicio y el final, pero no incluye los elementos en la posición final
  3. El método splice () inserta elementos en el centro de la matriz.
    Eliminar: 2 parámetros, la posición del primer elemento que se eliminará y la cantidad de elementos que se eliminarán. empalme (0,2) elimina los dos primeros
    elementos Insertar: 3 parámetros, posición inicial, 0 (número de elementos que se eliminarán), elemento que se insertará. empalme (2,0, "verde", "rojo"); inserte la cadena "verde", "rojo" desde la posición 2 de la matriz actual
    Reemplazar: cualquier número de elementos insertados en la posición especificada, y elimine cualquier número de elementos , 3 parámetros: la posición inicial, el número de elementos que se eliminarán y cualquier número de elementos que se insertarán. El número de elementos insertados no necesita ser igual a los elementos eliminados. empalme (2,1, "rojo", "verde"); elimine el elemento en la posición 2 de la matriz actual e insértelo desde la posición 2. splice () devuelve los elementos eliminados de la matriz original (sin elementos eliminados, devuelve una matriz vacía)

Método de ubicación

indexOf () El elemento para buscar hacia atrás desde el principio y (opcionalmente) el índice que indica el punto de inicio de la búsqueda.
lastIndexOf () El elemento buscado desde el final hasta el frente y (opcionalmente) el índice del punto de inicio de la búsqueda.
números var = [1,2,3,4,5,4,3,2,1];
alert (number.indexOf (4)); // 3
alert (number.lastIndexOf (4)); // 5

Método iterativo

Cada método tendrá una función que se ejecutará. Esta función recibe tres parámetros: el valor del elemento de la matriz, la posición del elemento en la matriz y el objeto de la matriz en sí.

  1. every () ejecuta la función dada en cada elemento de la matriz y devuelve verdadero si la función devuelve verdadero para cada elemento

  2. filter () ejecuta la función dada en cada elemento de la matriz y devuelve una matriz de elementos que la función devuelve verdadero

  3. foreach () ejecuta la función dada en cada elemento de la matriz, sin valor de retorno

  4. map () ejecuta la función dada en cada elemento de la matriz y devuelve una matriz de los resultados de cada llamada de función

  5. some () ejecuta la función dada en cada elemento de la matriz y devuelve verdadero si la función devuelve verdadero para cualquier elemento

     var numbers = [1,2,3,4,5,4,3,2,1];
     var everyResult = numbers.every(function(item,index,array){
     		return (item > 2);
     	})
     alert(everyResult);//false
    
  6. map () devuelve una matriz, y cada elemento de esta matriz es el resultado de ejecutar la función pasada en el elemento correspondiente en la matriz original. Ejemplo: multiplique cada elemento de la matriz por 2 y devuelva la matriz de productos

     var numbers = [1,2,3,4,5,4,3,2,1];
     var everyResult = numbers.map(function(item,index,array){
     		return (item * 2);
     	})
     alert(everyResult);//[2,4,6,8,10,8,6,4]
     1,2,3,4,5都不会修改数组中包含值
    

Método de fusión

Los dos métodos reduce () y reduceRight () iteran sobre todos los elementos de la matriz y luego construyen un valor de retorno final. reduce () comienza desde el primer elemento de la matriz y atraviesa uno por uno hasta el final, y reduceRight () es lo opuesto. Ambos métodos reciben dos parámetros: una función llamada en cada elemento y (opcionalmente) el valor inicial que es la base de la fusión.
4 parámetros: valor anterior, valor actual, índice de elemento y objeto de matriz. Cualquier valor devuelto por esta función se pasará automáticamente al siguiente elemento como primer parámetro.
Use el método reduce () para realizar la operación de sumar todos los valores de la matriz.

var values = [1,2,3,4,5];
var sum = values.reduce(function(pre,cur,index,array){
			return pre + cur;
})
alert(sum);//15
第一次执行回调函数,prev是1,cur是2,第二次,prev是3,(1+2=3),cur是3(数组的第三项),这个过程会持续到把数组中的每一项访问一遍,返回结果。
17 artículos originales publicados · me gustaron 0 · visitas 770

Supongo que te gusta

Origin blog.csdn.net/CandiceYu/article/details/89888723
Recomendado
Clasificación