Apakah ada daftar larik di Javascript?

92

Saya memiliki banyak hal yang ingin saya tambahkan ke dalam array, dan saya tidak tahu berapa ukuran array sebelumnya. Dapatkah saya melakukan sesuatu yang mirip dengan c # arraylist di javascript, dan melakukannya myArray.Add(object);berulang kali?

NibblyPig
sumber

Jawaban:

145

cukup gunakan array.push ();

var array = [];


array.push(value);

Ini akan menambahkan item lain ke dalamnya.

Untuk melepasnya, gunakan array.pop();

Tautan ke array JavaScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

kemiller2002
sumber
Tautan tidak lagi tersedia.
sabsab
Anda dapat menambahkan data sebanyak yang Anda inginkan dalam array - arr.push (element1 [, ... [, elementN]]) - developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
CarlosZ
52

Tidak ada ArrayList di javascript.

Namun ada ArrayECMA 5.1 yang memiliki fungsi serupa dengan "ArrayList". Mayoritas jawaban ini diambil secara verbatim dari rendering HTML Ecma-262 Edition 5.1, Spesifikasi Bahasa ECMAScript .

Array yang ditentukan memiliki metode berikut ini:

  • .toString ( )
  • .toLocaleString ( )
  • .concat ( [ item1 [ , item2 [ , … ] ] ] )
    Ketika metode concat dipanggil dengan nol atau lebih argumen item1, item2, dll., Ia mengembalikan array yang berisi elemen array dari objek diikuti dengan elemen array dari setiap argumen secara berurutan.
  • .join (separator)
    Elemen-elemen larik diubah menjadi String, dan String ini kemudian digabungkan, dipisahkan oleh kemunculan pemisah. Jika tidak ada pemisah, satu koma digunakan sebagai pemisah.
  • .pop ( )
    Elemen terakhir dari larik dihapus dari larik dan dikembalikan.
  • .push ( [ item1 [ , item2 [ , … ] ] ] )
    Argumen ditambahkan ke akhir larik, dalam urutan kemunculannya. Panjang baru dari array dikembalikan sebagai hasil dari panggilan. "
  • .reverse ( )
    Elemen-elemen larik diatur ulang sedemikian rupa untuk membalik urutannya. Objek dikembalikan sebagai hasil panggilan.
  • .shift ( )
    Elemen pertama dari larik dihapus dari larik dan dikembalikan. "
  • .slice (start, end)
    Metode slice mengambil dua argumen, start dan end, dan mengembalikan array yang berisi elemen array dari elemen awal hingga, tetapi tidak termasuk, elemen akhir (atau melalui akhir array jika akhir tidak ditentukan).
  • .sort (comparefn)
    Elemen-elemen dari larik ini diurutkan. Pengurutan belum tentu stabil (yaitu, elemen yang membandingkan sama tidak harus tetap dalam urutan aslinya). Jika bandingkanfn tidak tidak terdefinisi, itu harus menjadi fungsi yang menerima dua argumen x dan y dan mengembalikan nilai negatif jika x <y, nol jika x = y, atau nilai positif jika x> y.
  • .splice (start, deleteCount [ , item1 [ , item2 [ , … ] ] ] )
    Ketika metode sambatan dipanggil dengan dua atau lebih argumen start, deleteCount dan (opsional) item1, item2, dll., Elemen deleteCount dari array yang dimulai pada awal indeks array diganti dengan argumen item1, item2, dll. Objek Array mengandung elemen yang dihapus (jika ada) dikembalikan.
  • .unshift ( [ item1 [ , item2 [ , … ] ] ] )
    Argumen ditambahkan ke awal array, sehingga urutannya dalam array sama dengan urutan kemunculannya dalam daftar argumen.
  • .indexOf ( searchElement [ , fromIndex ] )
    indexOf membandingkan searchElement dengan elemen-elemen larik, dalam urutan menaik, menggunakan Algoritma Perbandingan Persamaan Ketat internal (11.9.6), dan jika ditemukan di satu atau lebih posisi, mengembalikan indeks dari posisi tersebut yang pertama; jika tidak, -1 dikembalikan.
  • .lastIndexOf ( searchElement [ , fromIndex ] )
    lastIndexOf membandingkan searchElement dengan elemen array dalam urutan menurun menggunakan Algoritma Perbandingan Persamaan Ketat internal (11.9.6), dan jika ditemukan pada satu atau lebih posisi, mengembalikan indeks dari posisi terakhir tersebut; jika tidak, -1 dikembalikan.
  • .every ( callbackfn [ , thisArg ] )
    callbackfn harus menjadi fungsi yang menerima tiga argumen dan mengembalikan nilai yang dapat dipaksakan ke nilai Boolean benar atau salah. setiap panggilan callbackfn satu kali untuk setiap elemen yang ada dalam array, dalam urutan menaik, hingga menemukan satu di mana callbackfn mengembalikan false. Jika elemen seperti itu ditemukan, setiap langsung mengembalikan nilai salah. Sebaliknya, jika callbackfn mengembalikan true untuk semua elemen, setiap akan mengembalikan true.
  • .some ( callbackfn [ , thisArg ] )
    callbackfn harus menjadi fungsi yang menerima tiga argumen dan mengembalikan nilai yang dapat dipaksakan ke nilai Boolean benar atau salah. beberapa memanggil callbackfn sekali untuk setiap elemen yang ada dalam larik, dalam urutan menaik, hingga menemukan satu di mana callbackfn mengembalikan nilai true. Jika elemen seperti itu ditemukan, beberapa segera mengembalikan nilai benar. Jika tidak, beberapa akan kembali salah.
  • .forEach ( callbackfn [ , thisArg ] )
    callbackfn harus menjadi fungsi yang menerima tiga argumen. forEach memanggil callbackfn sekali untuk setiap elemen yang ada dalam larik, dalam urutan menaik.
  • .map ( callbackfn [ , thisArg ] )
    callbackfn harus menjadi fungsi yang menerima tiga argumen. map memanggil callbackfn satu kali untuk setiap elemen dalam larik, dalam urutan menaik, dan membangun Array baru dari hasil.
  • .filter ( callbackfn [ , thisArg ] )
    callbackfn harus menjadi fungsi yang menerima tiga argumen dan mengembalikan nilai yang dapat dipaksakan ke nilai Boolean benar atau salah. filter memanggil callbackfn sekali untuk setiap elemen dalam larik, dalam urutan menaik, dan membuat larik baru dari semua nilai yang callbackfnnya kembalikan benar.
  • .reduce ( callbackfn [ , initialValue ] )
    callbackfn harus menjadi fungsi yang membutuhkan empat argumen. mengurangi panggilan callback, sebagai fungsi, sekali untuk setiap elemen yang ada dalam larik, dalam urutan menaik.
  • .reduceRight ( callbackfn [ , initialValue ] )
    callbackfn harus menjadi fungsi yang membutuhkan empat argumen. reduceRight memanggil callback, sebagai fungsi, sekali untuk setiap elemen yang ada dalam array, dalam urutan menurun.

dan juga properti panjang .

Travis J
sumber
23

Dengan javascript semua array fleksibel. Anda cukup melakukan sesuatu seperti berikut:

var myArray = [];

myArray.push(object);
myArray.push(anotherObject);
// ...
JasonWyatt
sumber
Aku mencintaimu, meski aku tidak terlalu mengenalmu.
sabsab
14

Array cukup fleksibel di JS, Anda dapat melakukan:

var myArray = new Array();
myArray.push("string 1");
myArray.push("string 2");
JonoW
sumber
Anda tidak dapat dengan mudah menghapus elemen tertentu
Jacob Sánchez
Anda yakin bisa: array.splice(index, 1)menghapus elemen di index.
countunique
7

Anda bahkan tidak perlu didorong, Anda dapat melakukan sesuatu seperti ini -

var A=[10,20,30,40];

A[A.length]=50;
kennebec
sumber
5

javascript menggunakan array dinamis, tidak perlu mendeklarasikan ukurannya sebelumnya

Anda dapat mendorong dan menggeser ke array sebanyak yang Anda inginkan, javascript akan menangani alokasi dan hal-hal lainnya untuk Anda

rajutan
sumber
3

Dalam skrip Java Anda mendeklarasikan array seperti di bawah ini:

var array=[];
array.push();

dan untuk daftar larik atau objek atau larik Anda harus menggunakan json; dan Serialisasi menggunakan json dengan menggunakan kode berikut:

 var serializedMyObj = JSON.stringify(myObj);
Vaibhav Parmar
sumber
Hai, Terima kasih telah memberikan info tambahan. Serialisasi Json benar-benar membantu
Prakash
1

Gunakan push()metode array javascript , itu menambahkan objek yang diberikan di akhir array. JS Array cukup fleksibel, Anda dapat mendorong objek sebanyak yang Anda inginkan dalam sebuah array tanpa menentukan panjangnya terlebih dahulu. Selain itu, berbagai jenis objek dapat didorong ke Array yang sama.

Kirti Thorat
sumber
0

Gunakan saja array.push(something);. Array Javascript seperti ArrayLists dalam hal ini - mereka dapat diperlakukan seperti memiliki panjang yang fleksibel (tidak seperti array java).

Bohemian
sumber
0

Coba ini, mungkin bisa membantu, ini melakukan apa yang Anda inginkan:

ListArray

var listArray = new ListArray();
let element = {name: 'Edy', age: 27, country: "Brazil"};
let element2 = {name: 'Marcus', age: 27, country: "Brazil"};
listArray.push(element);
listArray.push(element2);

console.log(listArray.array)
<script src="https://marcusvi200.github.io/list-array/script/ListArray.js"></script>

Marcus Vinicius Oliveira Silva
sumber