Diferença entre criar array usando new Array () e new Object em Javascript [duplicado]
Oct 26 2020
Eu vejo o exemplo que cria uma matriz usando
var array = new Array(5);
mas também vejo algo assim
arrayObj[0] = "index zero";
arrayObj[10] = "index ten";
Acho que o código acima cria um objeto com dois nomes de campo 0 e 10 como abaixo? Isso está correto?
arrayobj {
0: "index zero"
10: "index ten"
}
alguma diferença nesta forma de criar array usando new Array () e new Object?
Respostas
1 Metabolic Oct 26 2020 at 20:52
Arraye Objectsão diferentes um do outro. Tecnicamente, o que você está fazendo faz com que a estrutura de dados e a utilidade sejam as mesmas por enquanto, mas você perde as funções de protótipo e não pode usá-las do lado oposto.
Ex: Array.forEach()fará um loop em um array, mas não fará um loop em um objeto cujo par chave / valor seja equivalente ao do índice / item de um array
var array = new Array(5).fill('index');
arrayObj = {};
arrayObj[0] = "index zero";
arrayObj[10] = "index ten";
try {
console.log(array.length);
array.forEach(i => console.log(i));
console.log(arrayObj.length);
arrayObj.forEach(i => console.log(i));
} catch (e) { console.error(e); }
//looping over Object
Object.keys(arrayObj).forEach((item)=>{
console.log(arrayObj[item]);
});
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino