at

Aberta
#15 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
50/100
Tipo de issue
Funcionalidade
Clareza
Claramente especificada
Status de atividade
Estagnada
Stack de tecnologia
javascript
Domínio
tooling

Direção de pesquisa

Comece pelo ponto de entrada at(i, x) e use os exemplos para acompanhar os lookups de arrays, objetos e estruturas aninhadas. Está concluído quando a função é curried, aceita as formas de chave listadas, para em null ou undefined, retorna o valor solicitado ou nil e não lê de protótipos.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

at(i, x)

Returns value at given key, index or path in an array or object or combination of both.

Where:

  • i is a string, a number or an array of strings or numbers
  • x is either an array or an object

Examples

Value from an array
at(1)([41, 42, 43]);
//=> 42
Value from a object
at('answer')({answer: 42});
//=> 42
Value from a nested array
at([1, 1])([[31, 32], [41, 42]]);
//=> 42
Value from an object in a nested array
at([1, 'answer'])([[{}], [{answer: 42}]]);
//=> 42

Features

  • Function must be curried.
  • When given an array recursively go down x
  • Should avoid null pointer exception by conceding as soon as nil (i.e. either null or undefined) is detected.
  • Return either nil or the value at i.
  • Should not read from the prototype e.g. at('length', [1, 2, 3]) should return undefined not 3.
Linguagem predominante
JavaScript
Estrelas
1
Forks
0
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Issues semelhantes

Mais issues de JavaScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.