Js tipo de datos - arsenal

Introducción gama

En el lenguaje Java Script (en lo sucesivo, Js), dividido en tipos de datos básicos (simples) y tipos de datos de referencia tipos (complejo) de datos, que comúnmente utilizado como un tipo de datos de referencia - matrices, a continuación, echamos un vistazo a la matriz algunos de los conceptos básicos.

base de matriz

Array (Array), que es el más estructuras de datos Lenguaje de ordenadores común, sino también el JS, la importancia de una matriz de uno de la estructura más común de datos es evidente. Una matriz es una colección ordenada de datos. En Js, cada valor de la matriz se convierte en un elemento de la matriz, las características de Js de la matriz son los mismos elementos de la matriz pueden ser de cualquier tipo (Js tipos débiles idioma), pero por lo general nos ahorran sólo el valor del mismo tipo de datos en el mismo array ; número de elementos de la matriz se llama la longitud de la matriz (longitud), una matriz de longitud 0 se denomina matriz vacía, cada elemento de la matriz ha puede ser accedido por un número, se refiere como un índice (o índice) índice de la matriz comienza a partir de 0, el índice del último elemento de la matriz debe ser una longitud de la matriz.

creación de la matriz

Crear una matriz de manera que se puede dividir en la cantidad de avión a crear y utilizar un constructor de Array para crear una matriz de dos maneras.
1, la creación literal:

let arr=[];

2, un argumento del constructor:

let arr=new Array();

La asignación de matriz

A la matriz método de asignación es muy simple y se puede dividir en la asignación directa cuando la primera declaración reasignación y declaraciones:
la primera declaración de asignación:

let arr = [];
arr[0] = 1;
Arr [1] = 2;

Cuando la instrucción de asignación directa:

let arr = -[3 ,4];
let arr1 = new Array(3,4);

Podemos en cualquier lugar de asignación en la matriz, la longitud del actuador cambiará automáticamente el grupo, la posición del vacío porque no hay ningún uso, pueden considerarse todos sin definir.

elementos de la matriz de acceso (VER)

Por índice de matriz (subíndice), podemos fácilmente acceso al interior de los elementos almacenados en la matriz, como sigue:

let arr = [1,2,3,4,5];
console.log(arr[0]): //1

Una vez más: El primer elemento de la matriz desde el interior del índice está basado en cero.

elementos Retire (suprimido)

Podemos utilizar el operador delete para eliminar un determinado elemento de la matriz, por ejemplo:

let arr = [1,2,3,4,5];
delete arr[2]//删除数组中的第3个元素
console.log(arr);//[ 1, 2, <1 empty item>, 4, 5 ]

Por supuesto, podemos decir que este método es muy raro, el seguimiento se habló de escuchar empalme de elementos de la matriz de borrado.

Longitud de la matriz

Longitud de la matriz, es decir, el número de Js guarda en la matriz proporciona una matriz de atributo de longitud de datos, o vuelve a establecer la longitud de la matriz.
Sintaxis: array nombre .length
ejemplo:

let arr = [1,2,3,4,5];
console.log(arr.length);//输出数组的长度5

Podemos eliminar todos o detrás de los elementos de los elementos de la matriz de longitud de la matriz mediante el establecimiento de la fuerza
Ejemplo:

let arr = [1,2,3,4,5];
arr.length=2;
console.log(arr);//输出arr数组目前的所有元素[ 1, 2 ];
arr.length=0;
console.log(arr);//删除后arr的内容清空,变为空数组

iterar

El papel de la matriz puede ahorrar en múltiples ciclos de datos, pero cuando tenemos que operar sobre los datos, y no puede operar directamente la matriz para lograr el efecto, todavía tienen que ser sacados de cada pieza de datos de la matriz y, a continuación, a su vez tomarlos operación. Hemos utilizado un recorrido array sigue:
. 1, para el bucle por bucle a través de la matriz de elementos de cada
forma de realización,

let arr = [1,2,3,4,5];
for(let i = 0;i<arr.length;i++){
    console.log(arr[i]);
}

: 2, y el para-en bucle de circulación para el uso de
para ES6 añadió un método para-de un tipo a través de la matriz, de la comparación / o su código cíclico para más concisa.
casos,

let arr = [1,2,3,4,5];
for(let i of arr){//i就代表数组的一项
    console.log(i);
}

Además, también puede tomar ventaja de las formas subyacentes para atravesar cada elemento de la matriz para llegar a para-en bucle a través de la matriz:
casos,

let arr = [1,2,3,4,5];
for(let i in arr){//i代表数组的下标(索引)
    console.log(arr[i]);
}

Una serie de métodos comunes

Matriz contiene una serie de métodos para la manipulación de arrays. Esto introduce algunos de los métodos más comunes:
1, los datos Borrar, Borrar, y en el último no borrados desde el principio:
eliminar desde el principio:

let arr = [1,2,3,4,5];
arr.shift();
console.log(arr);//输出arr数组目前删除元素后的数组[ 2, 3, 4, 5 ]

Eliminar desde atrás:

let arr = [1,2,3,4,5];
arr.pop();
console.log(arr);//输出arr数组目前删除元素后的数组[ 1, 2, 3, 4 ]

2, los datos de aumento, divididas desde el principio para aumentar y no el último aumento:
aumento desde el final de

let arr = [1,2,3,4,5];
arr.push(6);
console.log(arr);//输出arr数组目前增加元素后的数组[ 1, 2, 3, 4, 5, 6 ]

aumenta desde

let arr = [1,2,3,4,5];
arr.unshift(6);
console.log(arr);//输出arr数组目前增加元素后的数组[ 6, 1, 2, 3, 4, 5 ]

Js proporciona un método universal para cualquier ubicación de la matriz de datos para añadir o eliminar, la siguiente estructura sintaxis:
nombre de la matriz .splice (subíndice, eliminar el número, de acuerdo con un nuevo actuador, los nuevos datos 2)
Nota: nuevos datos pueden ser cualquier número, incluyendo el cero, si no eliminar los datos sólo tendrá que añadir, borrar el número 0 se puede escribir:

let arr = [1,2,3,4,5];
arr.splice(1,1);//下标为1的位置删除一个数并且不添加元素
console.log(arr);//输出arr数组目前删除元素后的数组[ 1, 3, 4, 5 ]

encontrar datos

Encontrar un conjunto de datos de índice, métodos comunes:
el actuador indexOf de acuerdo para encontrar la primera ocurrencia de la subíndice;
lastlndex0f (): Encontrar la última ocurrencia de los datos de subíndice:
si el valor correspondiente encontrado en la matriz para dar el índice correspondiente se devuelve, e inmediatamente detener la búsqueda, si los datos no está presente en la matriz para cambiar el regreso -1;
Ejemplo

let arr = [1,2,3,4,5];
console.log(arr.indexOf(2));//输出元素在数组中的下标 1
console.log(arr.lastIndexOf(2));//输出元素在最后一次出现在数组中的下标 1
console.log(arr.indexOf(20));//元素不存在,返回 -1

Otro método para encontrar si un datos existente incluye (), devolviendo valor verdadero o falso para determinar si hay:
Ejemplo,

let arr = [1,2,3,4,5];
console.log(arr.includes(20));//false 不存在
console.log(arr.includes(1));//true 存在

Nota: Debido a NaN no es igual a cualquier número, incluyendo su propia, por lo que si es necesario utilizar NaN incluye métodos, el método no existe consulta utilizando indexOf y lastIndexOf matriz.
Comprueba si hay algunos datos:
Js proporcionó método utilizado para encontrar rebanada parte de la matriz de datos, los datos y encontrar la composición de una nueva matriz.
.Slice nombre de la matriz (posición de inicio subíndice, índice de posición final), se utiliza para encontrar todos los datos entre Slice desde una posición inicial a una posición final (no incluido).

let arr = [1,2,3,4,5];
console.log(arr.slice(2,4));//查找数组中下标为2到下标为4(不包括)之间的数据并返回 得到新数组 [ 3, 4 ]

Ordenación de datos

Js proporciona un conjunto de métodos, todos los datos en la secuencia de operación para la matriz.
revertir: todos los datos en el orden inverso (consideraciones orden inverso no de salida inversa);
Ejemplo

let arr = [6, 2, 8, 1, 5];
console.log(arr.reverse());//点到顺序并返回新数组 [ 5, 1, 8, 2, 6 ]

Ordenar: Ordenar todos los datos de acuerdo con una condición dada;
Ejemplo

let arr = [6, 2, 8, 1, 5];
console.log(arr.sort((a, b) => a - b)); //升序排序并返回新数组 [ 1, 2, 5, 6, 8 ]
console.log(arr.sort((a, b) => b - a)); //降序排序并返回新数组 [ 8, 6, 5, 2, 1 ]

Matriz y cadena de conversión

Js se proporciona un método de división entre el usuario y la conversión Strings ( "") y join ( "").
dividida método ( "") se utiliza para convertir una matriz de cadenas, los soportes que separador de llenado, el separador puede ser personalizado;
Ejemplo

let str = "1,5,8,1,3";
let arr = str.split(",");
console.log(arr);//得到转换成功后的数组 [ '1', '5', '8', '1', '3' ]

unirse ( "") Método
Ejemplo

let str = "1,5,8,1,3";
let arr = str.split(",");
console.log(arr);//得到转换成功后的数组 [ '1', '5', '8', '1', '3' ]
console.log(arr.join(""));//得到转换成功后的字符串 "15813"

[Extensiones] Otros métodos de matriz traversal

Además de mencionado anteriormente para, para-en y para-de bucle a bucle a través de la matriz, que JS iterate pero hay otros métodos, pero son también muy populares;
método forEach ();
casos,

let arr = [6, 2, 8, 1, 5];
arr.forEach((value)=>{
    console.log(value);//遍历得到爱arr的每一项
});

Viene array bucle forEach, el uso de frecuencias más altas, pero el rendimiento es en realidad más débil que el ciclo normal para.
forEach no continuar el uso y declaración de la rotura a romper el ciclo, no se puede utilizar la instrucción de retorno para volver a la función externa.
mapa método (): con el fin de dejar que cada matriz realizar secuencialmente algunos de la misma operación, y después devuelve una nueva matriz.
casos,

let arr = [6, 2, 8, 1, 5];
arr.forEach((value)=>{
    console.log(value);//遍历得到爱arr的每一项
});

Resumen: diferencia forEach () y el mapa (), el primero es no valor de retorno, después de lo cual una nueva matriz será la rentabilidad de la operación.
Además, hay una gran variedad de cada (), algunos () y el método que usa más comúnmente filter ():
1, Cada () para determinar si cada elemento de la matriz para satisfacer las condiciones, devuelve verdadero si todo el se encuentran, siempre que al menos uno no satisfecho de retorno falsas:
casos,

let arr = [6, 2, 8, 1, 5];
let re = arr.every((value)=>{
   return value >= 1;
});
console.log(re);//由于数组每一项都大于或等于1,因此返回true
let re1 = arr.every((value)=>{
    return value >= 2;
 });
 console.log(re1);//由于数组不满足每一都大于2,因此返回false

algún método (), la matriz se determina si cualquiera de la condición de al menos una se cumple inmediatamente devuelve verdadero y que satisface las funciones de terminación, si todo no está satisfecho devuelve FALSE si se encuentra;
Ejemplo

let arr = [6, 2, 8, 1, 5];
let re = arr.some((value)=>{
   return value >= 3;
});
console.log(re);//数组中存在大于3的数据,因此返回true
let re1 = arr.every((value)=>{
    return value >= 10;
 });
 console.log(re1);//数组中不存在大于10的数,因此返回false

el filtro (), se determina si la condición de cada uno por separado, y las satisface valor de retorno de la condición, por lo que utiliza para hacer los datos del filtro de detección.
casos,

let arr = [6, 2, 8, 1, 5];
let re = arr.filter((value)=>{
   return value >= 3;
});
console.log(re);//筛选出满足条件的值并返回 [ 6, 8, 5 ]

Resumen: Js es un lenguaje de tipos débiles, por lo que la matriz puede almacenar cualquier tipo de datos, por supuesto, que utilizamos cada día somos más del mismo tipo de datos, la posición Js en la matriz puede ser descrito como fundamental en el futuro de todos nosotros todavía está aprendiendo pesado y largo camino.

Se han publicado 19 artículos originales · ganado elogios 0 · Vistas 298

Supongo que te gusta

Origin blog.csdn.net/Joey_Tribiani/article/details/103301682
Recomendado
Clasificación