O ECMAScript5 define 5 métodos iterativos para matrizes. Cada método recebe dois parâmetros: a função a ser executada em cada item e o objeto de escopo (opcional) que executa a função (ou seja, o valor que afeta isso). As funções passadas para esses métodos recebem três parâmetros: o valor do item da matriz, a posição do item na matriz e o próprio objeto da matriz. Dependendo do método de uso, o valor de retorno após a execução desta função pode ou não afetar o valor de retorno do método. Esses 5 métodos iterativos são:
Todos os cinco métodos iterativos aceitam dois parâmetros: a função a ser executada em cada item e o escopo da função em execução (opcional)
cada (): execute a função fornecida em cada item na matriz. Se a função retornar true para cada item, ele retornará true.
filtro (): executa a função fornecida em cada item na matriz. Retornando uma variedade de itens que retornarão true.
foreach (): executa a função fornecida para cada item na matriz. A função não retorna um valor.
map (): execute a função fornecida em cada item na matriz. Retorna a função composta pelo resultado de cada chamada de função.
alguns (): execute a função fornecida em cada item na matriz. Se a função retornar true para qualquer um, ele retornará verdadeiro
Todos os métodos acima não modificarão os valores contidos na matriz.
No método acima, todo () e alguns () são muito semelhantes, ambos usados para consultar se um item na matriz satisfaz uma certa condição. Para o método todo (), a função passada deve retornar true para cada item antes que esse método retorne true. Caso contrário, ele retorna falsa. O método de alguns () retorna verdadeiro desde que a função passada retorne verdadeira a um item na matriz. Por exemplo:
var nums = [1,2,3,4,5,4,3,2,1]; var resultado = nums. Todo (função (item, índice, matriz) {return (item> 2);}) console.info (resultado);O código acima imprimirá false no console.
var nums = [1,2,3,4,5,4,3,2,1]; var resultado = nums.some (função (item, índice, matriz) {return (item> 2);}) console.info (resultado);O código acima imprime verdadeiro no console.
A seguir, é apresentado um exemplo da função filtro (), que usa a função especificada para determinar se existe um item na matriz retornada. Por exemplo, para retornar uma matriz com todos os valores maiores que 2, você pode usar o seguinte código:
var nums = [1,2,3,4,5,4,3,2,1]; var resultado = nums.Filter (função (item, índice, matriz) {return (item> 2);}) console.info (resultado); // [3,4,5,4,3]O código acima retorna uma matriz contendo 3, 4, 5, 4, 3 chamando o método filtro (). Este método é muito útil para consultar todas as matrizes que atendem a certos critérios.
O método map () também retorna uma matriz e cada item nesta matriz é o resultado da execução da função de entrada no item correspondente na matriz original. Por exemplo, você pode multiplicar cada item na matriz por 2 e depois retornar uma matriz desses produtos:
var nums = [1,2,3,4,5,4,3,2,1]; var resultado = nums.map (função (item, índice, matriz) {retornar item * 2;}) console.info (resultado); // [2,4,6,8,10,8,6,4,2]O método map () é adequado para criar uma matriz contendo itens um por um em outra matriz.
O último é o método foreach (), que apenas executa a função passada em todos os itens da matriz. Este método não tem valor de retorno, essencialmente iterando uma matriz usando um loop for. Veja o seguinte exemplo:
var nums = [1,2,3,4,5,4,3,2,1]; nums.ForEach (função (item, índice, matriz) {// Execute a operação necessária})Esses métodos de matriz no JS podem facilitar bastante o processamento de tarefas de matriz, executando diferentes operações.
Os navegadores que suportam esses métodos iterativos são: IE9+, Firefox2+, Safari3+, Opera9.5+e Chrome.
Var números = [1, 2, 3, 4, 5, 4, 3, 2, 1]; // todos () e alguns () são mais semelhantes // todos () item: item de travessia atual, índice: índice de item atual, matriz: objeto de matriz em si próprio var everyResult = números. alerta (EveryResult); // false // alguns () var someResult = números.some (função (item, índice, matriz) {retornar item> 2;}); alerta (someResult); // true // filtro var filterResult = números.Filter (função (item, índice, matriz) {retornar item> 2;}); alerta (filtroResult); // [3,4,5,4,3] // map () var mapResult = números.map (function (item, índice, array) {return (item * 2);}); alerta (mapResult); // [2,4,6,8,10,8,6,4,2] // foreach não é essencialmente diferença para o loop var foreachrecult = números.foreach (function (item, índice, matriz) {alert (item)});O acima é tudo sobre este artigo. Espero fornecer algumas dicas para entender melhor o método de iteração JavaScript.