Gunakan Array.prototype.push
metode untuk menambahkan nilai ke array:
// initialize array
var arr = [
"Hi",
"Hello",
"Bonjour"
];
// append new value to the array
arr.push("Hola");
console.log(arr);
Anda dapat menggunakan push()
fungsi untuk menambahkan lebih dari satu nilai ke array dalam satu panggilan:
// initialize array
var arr = ["Hi", "Hello", "Bonjour", "Hola"];
// append multiple values to the array
arr.push("Salut", "Hey");
// display all values
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
Memperbarui
Jika Anda ingin menambahkan item dari satu array ke array lain, Anda dapat menggunakan firstArray.concat(secondArray)
:
var arr = [
"apple",
"banana",
"cherry"
];
arr = arr.concat([
"dragonfruit",
"elderberry",
"fig"
]);
console.log(arr);
Memperbarui
Hanya tambahan untuk jawaban ini jika Anda ingin menambahkan nilai apa pun ke awal array yang berarti indeks pertama maka Anda dapat menggunakan Array.prototype.unshift
untuk tujuan ini.
var arr = [1, 2, 3];
arr.unshift(0);
console.log(arr);
Ini juga mendukung penambahan beberapa nilai sekaligus push
.
for
sama sekali (gunakan.forEach
).length
properti. Penerjemah melakukan pekerjaan yang luar biasa pada itu sendiri dan itu tidak akan membuat perbedaan di Dunia Nyata apakah Anda mengoptimalkannya atau tidak. Jika array Anda menjadi sangat besar sehingga optimalisasi.length
sebenarnya akan membantu, kemungkinan besar array bukan struktur data yang tepat lagi. MenggunakanforEach
memiliki kelebihan, tetapi sangat diragukan bahwa peningkatan kinerja akan menjadi salah satunya, karena panggilan fungsi untuk setiap iterasi menimbulkan biaya dan tidak menghemat apa pun.length
Properti dari array tidak dihitung setiap kali Anda menyebutnya, itu variabel yang disimpan dalamarray
objek, yang hanya diperbarui ketika Anda mengubah array. Jadi sebenarnya tidak ada biaya kinerja termasukarr.length
dalamfor
kondisi.forEach
fungsi panggilan balik (beberapa dari mereka mungkin sudah melakukan itu) dan tidak akan ada perbedaan dalam kode mesin yang dihasilkan, jika fungsi ini dipanggil cukup sering untuk dikompilasi daripada ditafsirkan oleh runtime. Saran yang sama berlaku untuk bahasa apa pun yang bukan assembler, sebenarnya.Jika Anda hanya menambahkan satu variabel, maka
push()
berfungsi dengan baik. Jika Anda perlu menambahkan array lain, gunakanconcat()
:Concat tidak mempengaruhi
ar1
danar2
kecuali ditugaskan kembali, misalnya:Banyak info hebat di sini .
sumber
How do I append to an array in JavaScript?
, tapiconcat
benar-benar menciptakan sebuah baru larik. Itu perbedaan penting! Sebaliknya saya akan mengatakan jawaban di bawah ini oleh Omnimike sebenarnya yang terbaik: Gunakan Push.apply untuk mendorong seluruh array ke array yang ada tanpa membuat yang baru.ar1 = ar1.concat(ar2);
akan ditambahkan kear1
ar1
, tambahkanar2
lalu kembalikan larik baru. Biarkan saja bagian penugasan (ar1 = ...
) dari baris kode itu dan Anda akan melihat bahwa aslinyaar1
tidak berubah. Jika Anda ingin menghindari membuat salinan, Anda perlupush
. Jangan percaya padaku, percayalah pada dokumen : "Metode concat () mengembalikan array baru" Kalimat pertama dalam dokumen untukconcat
.ar2
atas adalah anyways. Hasilnya.push
dalam skenario akan menjadi= [ar1, [ar2]]
. .concat memecahkan masalah itu, tetapi dengan pengorbanan kecepatan dan array baru dibuat. Untuk menggunakan.push
dengan benar dalam menambahkan array, loop keluar elemen yang terkandung pertama dan dorong masing-masingar2.forEach(each => { ar1.push(each); });
Beberapa pembandingan cepat (setiap pengujian = 500rb elemen yang ditambahkan dan hasilnya adalah rata-rata dari beberapa putaran) menunjukkan hal berikut:
Firefox 3.6 (Mac):
arr[arr.length] = b
lebih cepat (300 ms vs. 800 ms)arr.push(b)
lebih cepat (500ms vs 900ms)Safari 5.0 (Mac):
arr[arr.length] = b
lebih cepat (90ms vs 115ms)arr[arr.length] = b
lebih cepat (160ms vs 185ms)Google Chrome 6.0 (Mac):
Saya menyukai
arr.push()
sintaks yang lebih baik, tetapi saya pikir saya akan lebih baik denganarr[arr.length]
Versi, setidaknya dalam kecepatan mentah. Saya ingin melihat hasil dari menjalankan IE sekalipun.Loop pembandingan saya:
sumber
Saya pikir perlu disebutkan bahwa push dapat dipanggil dengan beberapa argumen, yang akan ditambahkan ke dalam array secara berurutan. Sebagai contoh:
Sebagai hasilnya, Anda dapat menggunakan push.apply untuk menambahkan array ke array lain seperti:
ES5 beranotasi memiliki lebih banyak info tentang apa yang push dan apply lakukan.
Pembaruan 2016: dengan spread , Anda tidak perlu
apply
lagi, seperti:sumber
Array.prototype.push.apply()
.Anda dapat menggunakan
push
danapply
berfungsi untuk menambahkan dua array.Ini akan ditambahkan
array2
kearray1
. Sekarangarray1
berisi[11, 32, 75, 99, 67, 34]
. Kode ini jauh lebih sederhana daripada menulisfor
loop untuk menyalin setiap item dalam array.sumber
...
operator alih-alih menerapkanconst a1 = [] const a2 = [5,6,7] const.push(...a2)
edit: sintaksis sorotarray1.concat(array2)
dalam situasi ini. Panggilan kepush
tampaknya tidak perlu.Dengan operator spread ES6 baru , menggabungkan dua array menggunakan
push
menjadi lebih mudah:Ini menambahkan konten
arr2
ke akhirarr
.Contoh Babel REPL
sumber
Jika
arr
array, danval
nilai yang ingin Anda tambahkan gunakan:Misalnya
sumber
Gunakan
concat
:sumber
Javascript dengan ECMAScript 5 standar yang didukung oleh kebanyakan browser sekarang, Anda dapat menggunakan
apply()
untuk appendarray1
kearray2
.Javascript dengan standar ECMAScript 6 yang didukung oleh Chrome dan FF dan IE Edge, Anda dapat menggunakan
spread
operator:The
spread
Operator akan menggantikanarray2.push(...array1);
denganarray2.push(3, 4, 5);
ketika browser berpikir logika.Poin bonus
Jika Anda ingin membuat variabel lain untuk menyimpan semua item dari kedua array, Anda bisa melakukan ini:
ES5
var combinedArray = array1.concat(array2);
ES6
const combinedArray = [...array1, ...array2]
Operator spread (
...
) adalah untuk menyebar semua item dari koleksi.sumber
Jika Anda ingin menambahkan dua array -
maka Anda bisa menggunakan:
Dan jika Anda ingin menambahkan catatan
g
ke array (var a=[]
) maka Anda dapat menggunakan:sumber
The
push()
Metode menambahkan item baru ke akhir array, dan mengembalikan panjang baru. Contoh:Jawaban tepat untuk pertanyaan Anda sudah dijawab, tetapi mari kita lihat beberapa cara lain untuk menambahkan item ke array.
The
unshift()
Metode menambahkan item baru ke awal array, dan mengembalikan panjang baru. Contoh:Dan terakhir,
concat()
metode ini digunakan untuk menggabungkan dua atau lebih array. Contoh:sumber
Ada beberapa cara untuk menambahkan array dalam JavaScript:
1) The
push()
Metode menambahkan satu atau lebih elemen ke akhir array dan mengembalikan panjang baru dari array.Keluaran:
2) The
unshift()
Metode menambahkan satu atau lebih elemen ke awal array dan mengembalikan panjang baru dari array:Keluaran:
3) The
concat()
metode yang digunakan untuk menggabungkan dua atau lebih array. Metode ini tidak mengubah array yang ada, tetapi mengembalikan array baru.Keluaran:
4) Anda dapat menggunakan
.length
properti array untuk menambahkan elemen ke akhir array:Keluaran:
5) The
splice()
Metode mengubah isi array dengan menghapus elemen yang ada dan / atau menambahkan elemen baru:Keluaran:
6) Anda juga dapat menambahkan elemen baru ke array hanya dengan menentukan indeks baru dan menetapkan nilai:
Keluaran:
sumber
push
sebenarnya: ia memodifikasi array asli dengan mendorong elemen baru ke dalamnya. Apakah saya salah membaca ini, atau haruskah ini diedit?Sekarang, Anda dapat memanfaatkan sintaks ES6 dan cukup lakukan:
menjaga array asli tidak berubah.
sumber
Jika Anda tahu indeks tertinggi (seperti disimpan dalam variabel "i") maka Anda bisa melakukannya
Namun jika Anda tidak tahu maka Anda bisa menggunakannya
sebagai jawaban lain yang disarankan, atau Anda dapat menggunakan
Perhatikan bahwa array berbasis nol sehingga .length mengembalikan indeks tertinggi ditambah satu.
Perhatikan juga bahwa Anda tidak perlu menambahkan secara berurutan dan Anda dapat benar-benar melewati nilai, seperti pada
Dalam hal ini nilai-nilai di antaranya akan memiliki nilai yang tidak terdefinisi.
Oleh karena itu praktik yang baik ketika mengulang melalui JavaScript untuk memverifikasi bahwa nilai sebenarnya ada pada saat itu.
Ini dapat dilakukan dengan sesuatu seperti berikut ini:
jika Anda yakin bahwa Anda tidak memiliki nol dalam array maka Anda bisa melakukannya:
Tentu saja pastikan dalam kasus ini bahwa Anda tidak menggunakan sebagai kondisi myArray [i] (karena beberapa orang di internet menyarankan berdasarkan pada akhir bahwa begitu saya lebih besar maka indeks tertinggi akan kembali tidak terdefinisi yang mengevaluasi ke Salah)
sumber
"undefined"
. Itu harus dibacavoid 0
!"undefined"
adalah string dan"undefined" !== void 0
, karenanya Andaif(myArray[i]
salah kecuali array pada indeksi
diatur ke string dengan isi yang setara dengan'u'+'n'+'d'+'e'+'f'+'i'+'n'+'e'+'d'
. Perhatikan juga bahwa Anda tidak boleh menggunakanundefined
, sebagai gantinya gunakanvoid 0
. Karenavoid 0
selalu merupakan nilai yang tidak ditentukan, sementaraundefined
dapat didefinisikan melalui sesuatu sepertifunction x(undefined) { alert(undefined) } x("hello world")
, jadi Anda tidak dapat memastikan apakah seseorang secara tidak sengaja mengaturwindow["undefined"]=1
atau serupa.Tambahkan Elemen Tunggal
Tambahkan Beberapa Elemen
Tambahkan array
sumber
arrName.push('newElemenet1, newElemenet2, newElemenet3')
?arrName
panjang1
.concat()
, tentu saja, dapat digunakan dengan array 2 dimensi juga. Tidak diperlukan perulangan.sumber
Biarkan properti panjang array melakukan pekerjaan:
myarray.length mengembalikan jumlah string dalam array. JS berbasis nol sehingga elemen kunci array selanjutnya akan menjadi panjang array saat ini. EX:
sumber
sumber
Tambahkan nilai ke array
Karena Array.prototype.push menambahkan satu atau lebih elemen ke akhir array dan mengembalikan panjang array yang baru , kadang-kadang kita hanya ingin mendapatkan array yang baru sehingga kita dapat melakukan sesuatu seperti:
Atau hanya:
sumber
Jika Anda menggunakan ES6, Anda dapat menggunakan operator spread untuk melakukannya.
sumber
Anda dapat melakukannya menggunakan fitur javascript Es 6 baru:
sumber
jika Anda ingin menggabungkan 2 array tanpa duplikat Anda dapat mencoba kode di bawah ini
pemakaian:
Output: [1,2,3,4,5]
sumber
Tambahkan satu item
Untuk menambahkan satu item ke array, gunakan
push()
metode yang disediakan oleh objek Array:push()
bermutasi array asli.Untuk membuat array baru, gunakan
concat()
metode Array:Perhatikan bahwa
concat()
sebenarnya tidak menambahkan item ke array, tetapi membuat array baru, yang dapat Anda tetapkan ke variabel lain, atau menetapkan kembali ke array asli (menyatakan sebagailet
, karena Anda tidak dapat menetapkan kembali aconst
):Tambahkan beberapa item
Untuk menambahkan beberapa item ke sebuah array, Anda dapat menggunakannya
push()
dengan memanggilnya dengan beberapa argumen:Anda juga dapat menggunakan
concat()
metode yang Anda lihat sebelumnya, melewati daftar item yang dipisahkan oleh koma:atau sebuah array:
Ingat bahwa seperti yang dijelaskan sebelumnya metode ini tidak mengubah array asli, tetapi mengembalikan array baru.
sumber
Anda .push () yang nilai dalam. Contoh: array.push (nilai);
sumber
Jika Anda ingin menambahkan nilai tunggal ke dalam array, cukup gunakan metode push. Ini akan menambahkan elemen baru di akhir array.
Tetapi jika Anda berniat untuk menambahkan banyak elemen maka simpan elemen-elemen tersebut dalam array baru dan gabungkan array kedua dengan array pertama ... apa pun yang Anda inginkan.
sumber
Kami tidak memiliki fungsi append untuk Array di javascript, tetapi kami memiliki push dan unshift , bayangkan Anda memiliki array di bawah ini:
dan kami suka menambahkan nilai ke array ini, bisa kita lakukan, arr.push (6) dan itu akan menambahkan 6 ke akhir array:
kita juga dapat menggunakan unshift, lihat bagaimana kita dapat menerapkan ini:
Mereka adalah fungsi utama untuk menambah atau menambahkan nilai baru ke array.
sumber
Anda dapat menggunakan metode push.
sumber
push()
menambahkan elemen baru ke akhir array.pop()
menghapus elemen dari akhir array.Untuk menambahkan objek (seperti string atau angka) ke penggunaan array -
array.push(toAppend);
sumber
Menambahkan item pada array
sumber
Anda dapat menggunakan push () jika Anda ingin menambahkan nilai misalnya
arr.push("Test1", "Test2");
Jika Anda memiliki array, Anda dapat menggunakan concat () mis
Array1.concat(Array2)
Jika Anda hanya memiliki satu elemen untuk ditambahkan, Anda juga dapat mencoba menthod panjang mis
array[aray.length] = 'test';
sumber