/*
concat:
Concatena dois arrays em um só. O array concatenado é o retorno da .concat()
*/
arr = [1,2,3];
arr2 = [4,5,6];
arr = arr.concat(arr2);
/*
slice:
Retorna um array a partir de um indice especifico
*/
arr = [1,2,3];
arr = arr.splice(1); // arr => [2,3];
/*
splice:
Insere elementos no meio do array || Remove elementos de uma posição especifica
.slice(initialIndex, elementsToRemove, ...elementsToAdd);
Adiciona sempre numa posição anterior ao indice selecionado
*/
arr = [1,2,4];
arr.splice(1,0,10,11) // arr => [1,10,11,2,4];
arr.splice(1,2) // arr => [1,2,4];
/*
every:
Itera o array enquanto não tiver um retorno falso;
*/
arr = [1,3,4];
arr.every( ele => {
if (!(ele % 2))
return false;
return true;
}); // => false
/*
join:
Cria uma string com todos os elementos do array separados
por um delimitador (O delimitador default é ',')
*/
arr = [1,3,4];
const strArr = arr.join(' ');
/*
some:
Itera enquanto não ouver um retorno true
*/
arr = [1,2,3];
arr.some( (ele, index) => {
if (!(ele % 2))
return true;
}); // => true;
/*
sort:
Ordena os arrays por ordem alfabetica ||
crescente || utilizando uma funcao
Recebe no callback dois parametros, o elemento
e o proximo elemento. Retorne utilizando uma condição
*/
arr3 = [1,2,3];
arr3.sort( (a, b) => {
return (a > b) ? a : b;
}) // arr => [3,2,1];
arr = ['fabricio', 'mateus', 'amadeu'];
/*
Iterator:
.entries() => retorna chave e valor
.keys() => retorna as chaves
.values() => retorna os valores
*/
const arr = [1,2,3];
const aKeys = arr.entries();
for (let keyNow = aKeys.next(); !keyNow.done; keyNow = aKeys.next()) {
console.log(keyNow);
}
/*
Array.from():
Clona o Array e pode retornar um valor
para cada elemento utilizando uma funcao
*/
arr = [1,2,3];
arr2 = Array.from(arr); // => [1,2,3];
arr2 = Array.from(arr, element => {
return (element % 2 === 0) ? true : false;
}) // => [false, true, false];
/*
copyWithin(startIndex, startCopy, endCopy):
Copia os elementos de determinados indices de um array para outros indices.
*/
arr = [1,2,3,4];
arr.copyWithin(1, 3); // => [ 1, 4, 3, 4 ]
/*
.sort() ->
Ordena naturalmente de forma léxica (alfabética);
Para ordenar de forma crescente o array passar uma
função com retorno true => .sort( () => true)
*/
arr = [12,5,10,10,4,7,3,2,1];
arr = arr.sort( (a,b) => {
return b - a; // decrescente
// return a - b; // crecente
});
// Ordenando objetos:
const ana = {name: "Ana", age: 19};
const joao = {name: "Joao", age: 31};
const mateus = {name: "Mateus", age: 27};
let listaDePessoas = [ana, joao, mateus];
listaDePessoas = listaDePessoas.sort( (a, b) => {
return a.age - b.age;
});
// Ordenar strings:
const names = ["ana", "Ana", 'joao', "Joao"];
names.sort((a, b) => a.localeCompare(b)); // Compara enxergando acentos e maiusculas;
// Arrays typados;
const arrayTypado = new Int8Array(10);