magic-array
v1.0.1
Published
É um módulo que trata operações não-usuais em arrays. Em construção.
Downloads
7
Readme
magicArray
GUR NYY VF ZVAQ. GUR HAVIREFR VF ZRAGNY.
Do que se trata?
É um módulo que trata operações não-usuais em arrays. Em construção.
Como usar:
NPM:
- npm install magic-array
Localmente:
- Copie o arquivo magicArray.js para uma pasta dentro do seu projeto.
- Use require('./magicArray.js') para importar o módulo para o seu código.(Se estiver na pasta raiz do projeto)
Documentação
Esta seção contém uma breve descrição das funções contidas no módulo magicArray.
.sym()
A função .sym() recebe dois ou mais arrays como argumentos e retorna a diferença simétrica entre eles. Exemplo:
var magicArray = require('./magicArray.js');
var result = magicArray.sym([1, 2, 3, 'magic' ], [1,3]);
//result: [ 2, 'magic' ]
.sumRange()
Retorna a soma entre todos os números contidos na sequência(range) entre os dois primeiros índices de um array. Recomendo utilizar um array com apenas dois elementos, caso o array possua mais de 2 elementos, ele funcionará normalmente, porém, sumRange atuará somente entre os dois primeiros índices do array passado por parâmetro. Não importa se o primeiro índice é maior ou menor do que o segundo índice. Exemplo:
var result = magicArray.sumRange([1, 4]);
//result: 10
var result2 = magicArray.sumRange([4, 1]);
//result2: 10
.getRange()
Retorna todos os números contidos no range entre dois números. A função recebe um array populado com os dois números que formarão o range. Exemplo:
var result = magicArray.getRange([1, 10]);
//result: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
.bouncer()
Remove todo os valores falsos(falsy values) de um array. Os falsy values em javascript são: false, null, 0, "", undefined
e NaN
.
Exemplo:
var result = magicArray.bouncer([7, "magic", "", false, 9, 0, 1, undefined, null, NaN]);
//result: [ 7, 'magic', 9, 1 ]
.groups()
A função groups agrupa elementos de um array em sub-arrays(grupos). Dois parâmetros são enviados para a função: o array e um size representando o tamanho dos grupos. Exemplo:
var result = magicArray.groups([1,'magic', 'array', 2, 3, 4], 2);
//result: [ [ 1, 'magic' ], [ 'array', 2 ], [ 3, 4 ] ]
.cut()
A função cut recebe um array e uma lista de itens que devem ser deletados do array. O primeiro argumento é o array e os argumentos seguintes são os itens que serão deletados. Exemplo:
var result = magicArray.cut(["tree", "hamburger", 53], "tree", 53);
//result: [ 'hamburger' ]
.indexInserted()
Ordena um array, insere um novo elemento e retorna o índice desse elemento inserido. Recebe dois parâmetros: o primeiro é o array e o segundo é o número a ser inserido. Exemplo:
var arr = [5, 3, 20, 21, 3];
var result = magicArray.indexInserted(arr, 4);
//arr: [ 3, 3, 4, 5, 20, 21 ]
//result: 2
.subMaxNumber()
Retorna o maior número contido em cada um dos sub-arrays de um array. Exemplo:
var result = magicArray.subMaxNumber([[5, 3, 20, 21, 3], [4,1,2],[10,1]]);
//result: [ 21, 4, 10 ]
.isMutation()
Retorna true
se a string do primeiro elemento de um array contém todas as letras de uma string no segundo elemento. Recebe um array com dois elementos.
Exemplo:
var result = magicArray.isMutation(["Alien", "line"]);
//result: true
var result2 = magicArray.isMutation(["hello", "hey"]);
//result: false
.slash()
Corta os n primeiros elementos de um array. Recebe dois parâmetros: um array e a quantidade de itens, n. Exemplo:
var result = magicArray.slash([1, 2, 3, 1, 5], 2);
//result: [ 3, 1, 5 ]
.getObject()
Recebe um array de objetos(primeiro argumento) e retorna um array de objetos que correspondem as propriedades e valores do segundo argumento. Por exemplo, se o primeiro argumento for igual a[{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }]
e o segundo argumento for igual a { last: "Capulet" }
, então a função deve retornar um array com o terceiro objeto da coleção: { first: "Tybalt", last: "Capulet" }
, pois é o único elemento da coleção de objetos que possui a string "Capulet"
na propriedade last
.
Exemplo:
var arr = [{ first: "Romeo", last: "Montague" },
{ first: "Mercutio", last: "Capulet" },
{ first: "Tybalt", last: "Capulet" }]
var result = magicArray.getObject(arr, { last: "Capulet" });
//result: [ { first: 'Mercutio', last: 'Capulet' },
{ first: 'Tybalt', last: 'Capulet' } ]
.rangeAlphabet()
Recebe dois caracteres e retorna um array de caracteres em ordem alfabética da sequência contida entre os dois caracteres. Exemplo:
var result = magicArray.rangeAlphabet('a', 'f');
//result: [ 'a', 'b', 'c', 'd', 'e', 'f' ]
.uniteUnique()
Une sub-arrays de um array e remove os elementos repetidos, retornando o resultado em um único array. Exemplo:
var result = magicArray.uniteUnique([1,2], [4,2], [3, 6, 1], [9]);
//result: [ 1, 2, 4, 3, 6, 9 ]
.findElement()
Recebe dois argumentos: um array e uma função callback para procurar o primeiro elemento que bate com o critério passado na função callback. Exemplo:
var result = magicArray.findElement([1, 3, 4, 5, 8, 9, 10], function(num) {
return num % 2 === 0;
});
//result: 4
.findAndRemove()
Recebe dois argumentos: um array e o elemento que deve ser removido. Remove o elemento do array e retorna o array após a remoção. Exemplo:
var myArray = [2,5,10,55];
magicArray.findAndRemove(myArray, 10);
//result: [2,5,55]
.sumTraversal()
Recebe dois argumentos: um objeto e uma propriedade numérica. Este método procura todas as ocorrências dessa propriedade em objetos dentro de arrays desse objeto inicial e soma todas as ocorrências. Utilize sempre com propriedades numéricas. Exemplo:
.sumTraversal()
Recebe dois argumentos: um objeto e uma propriedade numérica. Este método procura todas as ocorrências dessa propriedade em objetos dentro de arrays desse objeto inicial e soma todas as ocorrências. Utilize sempre com propriedades numéricas. Exemplo:
const obj = {
teste2: [{name:'Crowley', salary: 12}, {name: 'Regardie', salary: 12}],
teste3: [{name: 'Paracelso', salary: 10, last: 1}],
teste4: [{last: 2, first: 10, salary: 1}]
}
magicArray.sumTraversal(obj, 'salary');
//result: 35