Article image
Samuel Belisario
Samuel Belisario07/01/2023 21:19
Compartilhe

Os métodos map,find,filter,fill,some e every do objeto array no Javascript

  • #JavaScript

MAP()

O método map() cria um novo array,onde seus elementos são resultados da chamada de uma função,que por sua vez é parâmetro do método map.A função é chamada para cada elemento do array e o resultado é inserido em um novo array .

Uma ' arrow function '* é usada como parâmetro do método map .

const numbers = [1, 4, 9,10,1000,1000000];

const roots = numbers.map((num) => Math.sqrt(num).toFixed(2));

Resultado:

console.log(roots);

[ '1.00', '2.00', '3.00', '3.16', '31.62', '1000.00' ]

console.log(numbers);

[ 1, 4, 9, 10, 1000,1000000 ]

const numbers = [1, 4, 9,10,,1000000];

const roots = numbers.map((num) => Math.sqrt(num).toFixed(2));

Resultado:

console.log(roots);

[ '1.00', '2.00', '3.00', '3.16', <1 empty item>, '1000.00' ]

console.log(numbers);

[ 1, 4, 9, 10, <1 empty item>,,1000000 ]

FIND()

Este método retorna o primeiro elemento do array que satisfaz o teste que é executado por função.Esta é fornecida como parâmetro deste método .Caso não encontre,retorna undefined .

A posição do array que esteja vazia é tratada como undefined .

find( (elemento) => { /* … */ } )

find( (elemento, índice) => { /* … */ } )

find( (elemento, índice, array) => { /* … */ } )

const numbers = [1, 4, 9,10,,1000000];

const num = numbers.find(elemento => elemento > 10);

console.log(num);

Resultado: 1000000

numbers.find((valor,indice) => console.log('Valor: '+valor+' Índice: '+indice) );

Resultado:

Valor: 1 Índice: 0

Valor: 4 Índice: 1

Valor: 9 Índice: 2

Valor: 10 Índice: 3

Valor: undefined Índice: 4 posição vazia

Valor: 1000000 Índice: 5

const arrayobj= [ {fruta:'abacate'},{fruta:'maça'},{fruta:'banana'} ];

arrayobj.find( ({fruta}) => console.log('Fruta: '+fruta) );

Resultado:

Fruta: abacate

Fruta: maça

Fruta: banana

arrayobj.find( ({fruta}) => console.log(fruta === 'banana') );

Resultado:

false

false

true

const saida=arrayobj.find( ({fruta}) => fruta === 'banana' );

console.log(saida);

Resultado: { fruta: 'banana' }

const numbers = [1, 4, 9,10,,1000000]; -> uma posição vazia

numbers.find(elemento => console.log(elemento === 10))

Resultado:

false

false

false

true

false

false

console.log(numbers);

[ 1, 4, 9, 10, <1 empty item>,,1000000 ]

FILTER()

Este método cria uma cópia de uma porção de um dado array.Os elementos desta porção são os que passaram em um teste implementado por um função(geralmente 'arrow function') .

Um array vazio será retornado caso nenhum elemento do array dado passe no teste .

A função é chamada uma única vez para cada elemento do array,e,constrói um novo array com os elementos que passam no teste,ou seja,a função retorne 'true' para cada elemento do array .

As posições do array dado que são vazias,não são reconhecidas .

filter((elemento) => { /* … */ })

filter((elemento, índice) => { /* … */ })

filter((elemento, índice, array) => { /* … */ })

const numbers = [1, 4, 9,10,,1000000];

console.log(numbers.filter(elemento => elemento >=4));

Resultado: [ 4, 9, 10, 1000000 ]

console.log('numbers: '+numbers);

numbers: 1,4,9,10,,1000000

console.log(numbers.filter(elemento => elemento %2 != 0));

Resultado: [ 1, 9 ]

console.log('numbers: '+numbers);

numbers: 1,4,9,10,,1000000

console.log(numbers.filter(elemento => elemento %2 == 0));

Resultado: [ 4, 10, 1000000 ]

console.log('numbers: '+numbers);

numbers: 1,4,9,10,,1000000

FILL()

Este método muda todos elementos de um array com um valor estático,desde do índice inicial(default=0) até índice final que é o tamanho do array (array.length) .

O método é mutável .

fill(valor,índice inicial,índice final)

const numbers = [1, 4, 9,10,,1000000];

console.log( numbers.fill(10,3) );

Resultado: [ 1, 4, 9, 10, 10, 10 ]

console.log( numbers.fill(10,3,4) );

Resultado: [ 1, 4, 9, 10, <1 empty item>, 1000000 ]

console.log(numbers.fill(10,3,5));

Resultado: [ 1, 4, 9, 10, 10, 1000000 ]

console.log(numbers.fill(10));

Resultado: [ 10, 10, 10, 10, 10, 10 ]

SOME()

Este método devolve 'true' se pelo menos um elemento do array passa no teste de uma função fornecida como parâmetro dele .Caso não exista,devolve 'false' .

Se o algum elemento passa no teste,então para a iteração com o array .

Para um array vazio,então retorna 'false' .

some((element) => { /* … */ })

some((element, index) => { /* … */ })

some((element, index, array) => { /* … */ })

const str=['Carlos','Joseph','Eliane','Samuel','Tiago',,'Robert'];

console.log(str.some(elemento => elemento === 'Carlos'));

Resultado: true (verdadeiro)

console.log(str);

[

 'Carlos',

 'Joseph',

 'Eliane',

 'Samuel',

 'Tiago',

 <1 empty item>,

 'Robert'

]

console.log(str.some(elemento => elemento === 'tiago'));

Resultado: false (falso)

console.log([2,7,16,100,40,1,0,-1].some(elemento => elemento == -1));

Resultado: true

console.log([2,7,16,100,40,1,0,-1].some(elemento => elemento < -1));

Resultado: false

EVERY()

Este método verifica se todos elementos de um array passa no teste de uma função fornecida como parâmetro dele,devolvendo um valor booleano( true ou false exclusivo) .

o método percorre o array,elemento por elemento,executando a função de teste .

O métdo não reconhece posições do array que são vazias .

every((element) => { /* … */ })

every((element, index) => { /* … */ })

every((element, index, array) => { /* … */ })

numbers=[ 1, 4, 9, 10, <1 empty item>, 1000000 ];

console.log(numbers.every(elemento => elemento >= 1));

Resultado: true (verdadeiro)

console.log(numbers);

[ 1, 4, 9, 10, <1 empty item>, 1000000 ]

console.log(numbers.every(elemento => elemento > 1));

Resultado: false (falso)

*

Arrow function é uma forma compacta de escrever uma função tradicional .

Escrita de uma função anônima tradicional para'arrow function'

( function (a){        

   return a+100; 

 }

);

(a) => { return a+100;};

(a) => a+100;

a => a+100; -> arrow function

Ref:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

Compartilhe
Comentários (2)
Samuel Belisario
Samuel Belisario - 10/01/2023 23:46

valeu aeeeeee

Giancarlo Rodrigues
Giancarlo Rodrigues - 07/01/2023 23:03

Legal!!