Há muitas coisas novas adicionadas ao ES5, e entendê -las será de grande ajuda para escrever JavaScript. Por exemplo, na matriz, podemos não precisar optar por loops com uma maneira direta e atraente.
Um novo método de escrever matrizes foi adicionado no ES5, como segue:
foreach (JS v1.6)
Mapa (JS v1.6)
filtro (JS v1.6)
Alguns (JS v1.6)
Cada (JS v1.6)
IndexOf (JS v1.6)
LastIndexOF (JS v1.6)
Reduza (JS v1.8)
Reduceright (JS v1.8)
1. Propriedades de objeto de matriz de matriz comumente usadas em JS:
Como mostrado na figura, a peça marcada com um círculo vermelho é um novo atributo adicionado ao ES5.
2. Status do suporte do navegador:
• IE: 9+;
•Cromo;
• Firefox2+;
• Safari 3+;
• Opera 9.5+;
3. Método de posição
O ECMAScript5 define 2 métodos de posição para matrizes. indexOf (), lastIndexOf ();
Ambos os métodos recebem dois parâmetros: o item a ser encontrado e o índice (opcional) indicando a localização do ponto de partida da pesquisa.
Entre eles, o indexOf () começa a olhar para trás desde o início da matriz (posição 0), enquanto o LastIndexOF () começa a esperar a partir do final da matriz.
Ambos os métodos precisam retornar a posição do item encontrada na matriz ou retornar -1 se não for encontrado;
Exemplo:
VAR números = [1,2,3,4,5,4,3,2,1]; Alert (números.indexOF (4)); //4Alert(Number.LastIndexOf(4)); //5ALERT(Number.IndexOf(4,4)); //5ALERT(Number.LastIndexOf(4,4)); // 3
4. Método de iteração
O ECMAScript5 define 5 métodos iterativos para matrizes.
4.1. Todo mundo ()
Definição e uso: o método todo () é usado para detectar se todos os elementos da matriz atendem às condições especificadas (fornecidas por uma função).
O método todo () usa a função especificada para detectar todos os elementos da matriz:
• Se um elemento for detectado na matriz que não estiver satisfeita, toda a expressão retornará falsa e os elementos restantes não serão detectados novamente.
• Retorne verdadeiro se todos os elementos satisfazem a condição.
NOTA: Todo () não detectará matrizes vazias.
NOTA: Todo () não altera a matriz original.
Descrição: Detecte se todos os elementos das idades da matriz são maiores que 18:
var ages = [32, 33, 16, 40]; função checkadult (idade) {idade de retorno> = 18;} function myfunction () {document.getElementById ("Demo"). iNnerhtml = AGES.Adiso (checkAdult);}O resultado é:
falso;
4.2. Alguns()
Definição e uso: o método alguns () é usado para detectar se os elementos em uma matriz atendem às condições especificadas (fornecidas pela função).
Execute a função fornecida em cada item na matriz e, se a função retornar true para qualquer um dos itens, ele retornará true;
O código é o seguinte:
Var números = [1,2,3,4,5,4,3,2,1]; var someResult = números.
O resultado é:
verdadeiro;
4.3. filtro()
Definição e uso: o método filter () cria uma nova matriz, e os elementos da nova matriz são verificados para todos os elementos da matriz especificada que atendem aos critérios.
Execute uma determinada função em cada item da matriz, retornando uma variedade de itens que retornarão true.
Descrição: Para retornar uma matriz com valores maiores que 2, o código é o seguinte:
Var números = [1,2,3,4,5,4,3,2,1]; var filterResult = números.Filter (função (item, índice, matriz) {// item refere -se ao valor da matriz; índice refere -se a matriz subscrito; Array refere -se a si mesmo; retornar (item> 2);}); alert (filtroResult);O resultado é:
[3,4,5,4,3]
4.4. mapa()
Definição e uso: o método map () retorna uma nova matriz e os elementos da matriz são os valores processados pelo elemento de matriz original depois de chamar a função.
Execute a função fornecida em cada item da matriz, retornando uma matriz composta pelos resultados de cada chamada de função.
Descrição: Multiplique cada termo na matriz por 2 e retorne a matriz composta desses produtos. O código é o seguinte:
Var números = [1,2,3,4,5,4,3,2,1]; var mapResult = números.map (função (item, índice, matriz) {// item refere -se ao valor da matriz; índice refere -se a matriz subscrito; Array refere -se a se refere a si mesmo; retornar o item*2;}); alerta (mapResult);O resultado é:
[2,4,6,8,10,8,6,4,2]
4.5. foreach ()
Definição e uso: execute a função fornecida em cada item na matriz. Este método não tem valor de retorno.
Essencialmente, o mesmo que usar um loop for para iterar através de uma matriz. O código é o seguinte:
Var números = [1,2,3,4]; Numbers.ForEach (function (item, índice, array) {console.log (item);});O resultado é:
1
2
3
4
5. Reduza o método
O ECMAScript5 adiciona dois novos métodos para reduzir as matrizes: Reduce () e ReduceRight ();
Esses dois métodos iteram sobre todos os itens da matriz e, em seguida, criarão um valor final retornado. Entre eles, o método Reduce () começa a partir do primeiro item da matriz e passa por ele um a um até o final.
ReduceRight () começa a partir do último item da matriz e atravessa o primeiro item. Ambos os métodos recebem dois parâmetros: uma função chamada em cada item e (opcional) como o valor inicial para a base de estreitamento.
A função foi aprovada para reduzir () e reduteright () recebe 4 parâmetros: o valor anterior, o valor atual, o índice do item e o objeto da matriz.
Descrição: Use o método Reduce () para executar a operação de encontrar a soma de todos os valores em uma matriz. O código é o seguinte:
var valores = [1,2,3,4,5]; var sum = valores.Reduce (function (prev, cur, índice, matriz) {return prept+curs;}); alert (soma);O resultado é:
15
O exposto acima é o conhecimento relevante do método de matriz recém -adicionado no padrão JavaScript ES5 introduzido pelo editor. Espero que seja útil para você. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a você a tempo. Muito obrigado pelo seu apoio ao site wulin.com!