Perbedaan antara create array menggunakan new Array () dan new Object di Javascript [duplikat]

Oct 26 2020

Saya melihat contoh yang membuat array menggunakan

var array = new Array(5);

tetapi saya juga melihat sesuatu seperti ini

arrayObj[0] = "index zero";
arrayObj[10] = "index ten";

Saya pikir kode di atas membuat objek dengan dua nama field 0 dan 10 seperti di bawah ini? Apakah itu benar?

arrayobj {
0: "index zero"
10: "index ten"
}

ada perbedaan dalam dua cara ini untuk membuat array menggunakan new Array () dan new Object?

Jawaban

1 Metabolic Oct 26 2020 at 20:52

Arraydan Objectberbeda satu sama lain. Secara teknis apa yang Anda lakukan membuat struktur data dan utilitas untuk waktu tetap sama tetapi Anda melewatkan fungsi prototipe dan tidak dapat menggunakannya secara silang.

Misalnya Array.forEach()akan melakukan loop pada array tetapi tidak akan melakukan loop pada objek yang pasangan kunci / nilainya setara dengan indeks / item dari sebuah 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]);
  });