tutoriais mais recente desenvolvimento web
 

JavaScript Métodos de Array


A força de matrizes de JavaScript reside nos métodos da matriz.


Convertendo Arrays para Cordas

O método JavaScript toString() converte uma matriz para uma série de (separados por vírgula) Os valores da matriz.

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();

Resultado

Banana,Orange,Apple,Mango
Tente você mesmo "

A join() método também se junta todos os elementos da matriz em uma string.

Ele se comporta exatamente como toString() , mas, além disso, você pode especificar o separador:

Exemplo

var fruits = ["Banana", "Orange","Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.join(" * ");

Resultado

Banana * Orange * Apple * Mango
Tente você mesmo "

Popping e Empurrando

Quando você trabalha com matrizes, é fácil de remover elementos e adicionar novos elementos.

Isto é o que estalando e empurrando é:

Popping itens de um array, ou empurrando itens em uma matriz.


popping

O pop() método remove o último elemento de uma matriz:

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();              // Removes the last element ("Mango") from fruits
Tente você mesmo "

O pop() método retorna o valor que foi "saiu":

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.pop();      // the value of x is "Mango"
Tente você mesmo "

empurrando

O push() método adiciona um novo elemento a uma matriz (no final):

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");       //  Adds a new element ("Kiwi") to fruits
Tente você mesmo "

O push() método retorna o novo comprimento da matriz:

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var x = fruits.push("Kiwi");   //  the value of x is 5
Tente você mesmo "

deslocando Elements

O deslocamento é equivalente a estalar, a trabalhar no primeiro elemento em vez da última.

O shift() método remove o primeiro elemento da matriz e "mudanças" todos os outros elementos para um índice mais baixo.

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift();            // Removes the first element "Banana" from fruits
Tente você mesmo "

O unshift() método adiciona um novo elemento a uma matriz (no início) e "unshifts" elementos mais velhos:

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon");    // Adds a new element "Lemon" to fruits
Tente você mesmo "

O shift() método retorna a string que foi "deslocado para fora".

O unshift() método retorna o novo comprimento da matriz.


mudando Elements

Elementos da matriz são acessados usando seu número de índice:

Índices de matriz começar com 0. [0] é o primeiro elemento da matriz, [1] é a segunda, [2] é o terceiro ...

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[0] = "Kiwi";        // Changes the first element of fruits to "Kiwi"
Tente você mesmo "

A propriedade de comprimento oferece uma maneira fácil de acrescentar um novo elemento a uma matriz:

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits[fruits.length] = "Kiwi";          // Appends "Kiwi" to fruit
Tente você mesmo "

Excluindo Elements

Desde matrizes de JavaScript são objetos, elementos podem ser excluídos usando o operador JavaScript delete :

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
delete fruits[0];           // Changes the first element in fruits to undefined
Tente você mesmo "

Usando delete pode deixar buracos indefinidos na matriz. Use pop() ou shift() em vez disso.


Emendando um Array

A splice() método pode ser usado para adicionar novos itens a uma matriz:

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi");
Tente você mesmo "

O primeiro parâmetro (2) define a posição onde deve ser adicionado novos elementos (splicing in).

O segundo parâmetro (0) define quantas elementos devem ser removidos.

O resto dos parâmetros ( "Lemon" , "Kiwi" ) definem os novos elementos a ser adicionado.


Usando splice() para remover elementos

Com ajuste de parâmetros inteligente, você pode usar splice() para remover elementos sem deixar "buracos" na matriz:

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(0, 1);        // Removes the first element of fruits
Tente você mesmo "

O primeiro parâmetro (0) define a posição onde deve ser adicionado novos elementos (splicing in).

O segundo parâmetro (1) define quantas elementos devem ser removidos.

O resto dos parâmetros são omitidos. será adicionado há novos elementos.


Classificação de uma matriz

O sort() método ordena um array em ordem alfabética:

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();            // Sorts the elements of fruits
Tente você mesmo "

Invertendo um Array

O reverse() método inverte os elementos em uma matriz.

Você pode usá-lo para classificar uma matriz em ordem decrescente:

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();            // Sorts the elements of fruits
fruits.reverse();         // Reverses the order of the elements
Tente você mesmo "

numérico Sort

Por padrão, o sort() função ordena valores como strings.

Isso funciona bem para cordas ( "Apple" vem antes de "Banana" ).

No entanto, se os números são classificadas como cadeias, "25" é maior do que "100", porque "2" é maior que "1".

Devido a isso, o sort() método irá produzir resultado incorreto ao classificar números.

Você pode corrigir isso, fornecendo uma função de comparação:

Exemplo

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
Tente você mesmo "

ou

Exemplo

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a>b});
Tente você mesmo "

Usar o mesmo truque para classificar uma descendente matriz:

Exemplo

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
Tente você mesmo "

ou

Exemplo

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b>a});
Tente você mesmo "

A função Comparar

A finalidade da função de comparação é para definir uma ordem de classificação alternativo.

A função de comparação deve retornar um, zero, ou o valor positivo negativo, dependendo dos argumentos:

function(a, b){return a-b}

Quando a sort() função compara dois valores, ele envia os valores para a função de comparar e ordena os valores de acordo com o valor retornado (negativo, zero, positivo).

Exemplo:

Ao comparar 40 e 100, a sort() método chama o compare function(40,100) .

A função calcula 40-100, e retorna -60 (um valor negativo).

A função de classificação irá classificar 40 como um valor inferior a 100.


Encontre o (Menor ou) maior valor

Como encontrar o valor mais elevado em uma matriz?

Exemplo

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a});
// now points[0] contains the highest value
Tente você mesmo "

E o menor:

Exemplo

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
// now points[0] contains the lowest value
Tente você mesmo "

juntando Arrays

O concat() método cria uma nova matriz concatenando duas matrizes:

Exemplo

var myGirls = ["Cecilie", "Lone"];
var myBoys = ["Emil", "Tobias","Linus"];
var myChildren = myGirls.concat(myBoys);     // Concatenates (joins) myGirls and myBoys
Tente você mesmo "

O concat() método pode receber qualquer número de argumentos da matriz:

Exemplo

var arr1 = ["Cecilie", "Lone"];
var arr2 = ["Emil", "Tobias","Linus"];
var arr3 = ["Robin", "Morgan"];
var myChildren = arr1.concat(arr2, arr3);     // Concatenates arr1 with arr2 and arr3
Tente você mesmo "

Cortando uma matriz

A slice() método corta um pedaço de uma matriz para uma nova matriz.

Este exemplo corta uma parte de uma matriz a partir de elemento de matriz 1 ( "Orange" ):

Exemplo

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1);
Tente você mesmo "

A slice() método cria uma nova matriz. Ele não remove todos os elementos da matriz de origem.

Este exemplo corta uma parte de uma matriz a partir de elemento de matriz 3 ( "Apple" ):

Exemplo

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(3);
Tente você mesmo "

A slice() método pode levar dois argumentos como slice(1,3) .

O método, em seguida, seleciona elementos do argumento de início, e até (mas não incluindo) o argumento final.

Exemplo

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1, 3);
Tente você mesmo "

Se o argumento final é omitido, como nos primeiros exemplos, a slice() método corta para fora o resto da matriz.

Exemplo

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(2);
Tente você mesmo "

O valueOf() Método

O valueOf() método é o comportamento padrão para uma matriz. Ele converte uma matriz para um valor primitivo.

JavaScript irá automaticamente converter um array para uma string quando um valor primitivo é esperado.

Devido a isso, todos estes exemplos irão produzir o mesmo resultado:

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits;
Tente você mesmo "

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.valueOf();
Tente você mesmo "

Exemplo

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.getElementById("demo").innerHTML = fruits.toString();
Tente você mesmo "

Todos os objetos JavaScript tem um valueOf() um e toString() método.


Completa matriz de referência

Para uma referência completa, vá ao nosso completo JavaScript matriz de referência .

A referência contém descrições e exemplos de todas as propriedades de Array e métodos.


Teste-se com exercícios!

Exercício 1 » Exercício 2» Exercício 3 » Exercício 4» Exercício 5 »