No código a seguir:
var arr = [];
for (var i = 1 ; i <= 10 ; i++){
arr.push({numero : i});
}
Como eu faria para conseguir inserir, em vez de {numero : 1}
, {numero : 2}
etc 10 vezes, inserir {numero1 : 1}
, {numero2 : 2}
no lugar?
No código a seguir:
var arr = [];
for (var i = 1 ; i <= 10 ; i++){
arr.push({numero : i});
}
Como eu faria para conseguir inserir, em vez de {numero : 1}
, {numero : 2}
etc 10 vezes, inserir {numero1 : 1}
, {numero2 : 2}
no lugar?
Se está falando assim
arr.push({numero : 1},{numero : 2} ...
e assim por diante?
É porque no caso, do jeito que deixei, vai fazer exatamente isso.
A minha variável arr vai conter um array de objetos que vai gravar [{numero : 1},{numero : 2},{numero : 3},{numero : 4},{numero : 5},{numero : 6},{numero : 7},{numero : 8},{numero : 9},{numero : 10}].
Mas eu quero que o meu array arr contenha, na verdade, [{numero1 : 1},{numero2 : 2},{numero3 : 3},{numero4 : 4},{numero5 : 5},{numero6 : 6},{numero7 : 7},{numero8 : 8},{numero9 : 9},{numero10 : 10}].
É possível fazer isso com um laço for da mesma forma que consegui fazer esse primeiro jeito?
Tem!
var arr = [];
function create_item(name, value)
{
return {
[ name + (() => i)() ]: i
};
}
for (var i = 1 ; i <= 10 ; i++){
arr.push(create_item('numero', i));
}
console.log(arr);
Exemplo:
Vixi, não entendi muito bem aheuhauehuaehau
O que significa esse => ?
Veja se ajuda
arr.push({["numero" + i] : i});
O => é um atalho para function() {} ou seja, um callback
Muito obrigado! Ficou bem mais fácil desse jeito:
var arr = [];
for (var i = 1 ; i <= 10 ; i++){
arr.push({['numero' + i] : i});
}
console.log(arr);
Muito obrigado também ao Dragoon e aos outros que se prontificaram a ajudar.
é um arrow
function
e ai no caso é uma função anonima (função sem nome), cuidado também com o fácil algumas vezes não funciona
Boa Leitura: