Bagaimana cara menambahkan sesuatu ke array?

2893

Bagaimana cara menambahkan objek (seperti string atau angka) ke array dalam JavaScript?

interstar
sumber

Jawaban:

4391

Gunakan Array.prototype.pushmetode 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.unshiftuntuk tujuan ini.

var arr = [1, 2, 3];
arr.unshift(0);
console.log(arr);

Ini juga mendukung penambahan beberapa nilai sekaligus push.

Jack Bashford
sumber
131
Perhatikan nilai pengembalian .push bukan array (atau yang baru, seperti .concat), tetapi integer yang mewakili panjang baru array.
Jay
8
@RST: jangan gunakan forsama sekali (gunakan .forEach).
Robert Siemer
34
Saya akan mengatakan kode asli baik-baik saja. Tidak perlu apa pun untuk mengoptimalkan akses ke lengthproperti. 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 .lengthsebenarnya akan membantu, kemungkinan besar array bukan struktur data yang tepat lagi. Menggunakan forEachmemiliki kelebihan, tetapi sangat diragukan bahwa peningkatan kinerja akan menjadi salah satunya, karena panggilan fungsi untuk setiap iterasi menimbulkan biaya dan tidak menghemat apa pun.
Stijn de Witt
29
@RobertSiemer lengthProperti dari array tidak dihitung setiap kali Anda menyebutnya, itu variabel yang disimpan dalam arrayobjek, yang hanya diperbarui ketika Anda mengubah array. Jadi sebenarnya tidak ada biaya kinerja termasuk arr.lengthdalam forkondisi.
mikeyq6
7
@Mojimi Sebagai seorang pemula, abaikan saran apa pun yang terkait dengan pertanyaan kinerja dalam kasus tepi seperti ini. Gunakan sintaks yang lebih ekspresif. Seiring berjalannya waktu Javascript menambah lebih banyak dan lebih banyak optimasi - mereka akan inline forEachfungsi 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.
Mörre
1041

Jika Anda hanya menambahkan satu variabel, maka push()berfungsi dengan baik. Jika Anda perlu menambahkan array lain, gunakan concat():

var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];

var ar3 = ar1.concat(ar2);

alert(ar1);
alert(ar2);
alert(ar3);

Concat tidak mempengaruhi ar1dan ar2kecuali ditugaskan kembali, misalnya:

var ar1 = [1, 2, 3];
var ar2 = [4, 5, 6];

ar1 = ar1.concat(ar2);
alert(ar1);

Banyak info hebat di sini .

MK_Dev
sumber
163
Hanya memastikan orang menangkap var ar3 = ar1.concat (ar2); bagian. ar1.concat (ar2) tidak menyimpan nilai ke ar1. Anda harus menangkapnya dengan menugaskannya ke ar3 atau kembali ke ar1, seperti: ar1 = ar1.concat (ar2);
vbullinger
31
Saya akan mengatakan ini adalah jawaban yang salah sebenarnya. Pertanyaannya adalah How do I append to an array in JavaScript?, tapi concatbenar-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.
Stijn de Witt
@StijndeWitt Anda masih dapat menambahkan tanpa membuat array baru, seperti yang dinyatakan dalam komentar sebelumnya ar1 = ar1.concat(ar2);akan ditambahkan kear1
cameronjonesweb
2
@cameronjonesweb Sebenarnya, yang dilakukannya adalah membuat larik baru dengan konten yang sama dengan ar1, tambahkan ar2lalu kembalikan larik baru. Biarkan saja bagian penugasan ( ar1 = ...) dari baris kode itu dan Anda akan melihat bahwa aslinya ar1 tidak berubah. Jika Anda ingin menghindari membuat salinan, Anda perlu push. Jangan percaya padaku, percayalah pada dokumen : "Metode concat () mengembalikan array baru" Kalimat pertama dalam dokumen untuk concat.
Stijn de Witt
@StijndeWitt Anda benar. Tetapi, cara yang berbeda untuk melihatnya, .push hanya bekerja dengan baik dalam menambahkan variabel tunggal / objek, tetapi bagaimanapun akan berantakan ketika datang ke menambahkan Array, yang di ar2atas adalah anyways. Hasilnya .pushdalam skenario akan menjadi = [ar1, [ar2]]. .concat memecahkan masalah itu, tetapi dengan pengorbanan kecepatan dan array baru dibuat. Untuk menggunakan .pushdengan benar dalam menambahkan array, loop keluar elemen yang terkandung pertama dan dorong masing-masing ar2.forEach(each => { ar1.push(each); });
Ade
408

Beberapa pembandingan cepat (setiap pengujian = 500rb elemen yang ditambahkan dan hasilnya adalah rata-rata dari beberapa putaran) menunjukkan hal berikut:

Firefox 3.6 (Mac):

  • Array kecil: arr[arr.length] = blebih cepat (300 ms vs. 800 ms)
  • Array besar: arr.push(b)lebih cepat (500ms vs 900ms)

Safari 5.0 (Mac):

  • Array kecil: arr[arr.length] = blebih cepat (90ms vs 115ms)
  • Array besar: arr[arr.length] = blebih cepat (160ms vs 185ms)

Google Chrome 6.0 (Mac):

  • Array kecil: Tidak ada perbedaan signifikan (dan Chrome CEPAT! Hanya ~ 38ms !!)
  • Array besar: Tidak ada perbedaan signifikan (160 ms)

Saya menyukai arr.push()sintaks yang lebih baik, tetapi saya pikir saya akan lebih baik dengan arr[arr.length]Versi, setidaknya dalam kecepatan mentah. Saya ingin melihat hasil dari menjalankan IE sekalipun.


Loop pembandingan saya:

function arrpush_small() {
    var arr1 = [];
    for (a = 0; a < 100; a++)
    {
        arr1 = [];
        for (i = 0; i < 5000; i++)
        {
            arr1.push('elem' + i);
        }
    }
}

function arrlen_small() {
    var arr2 = [];
    for (b = 0; b < 100; b++)
    {
        arr2 = [];
        for (j = 0; j < 5000; j++)
        {
            arr2[arr2.length] = 'elem' + j;
        }
    }
}


function arrpush_large() {
    var arr1 = [];
    for (i = 0; i < 500000; i++)
    {
        arr1.push('elem' + i);
    }
}

function arrlen_large() {
    var arr2 = [];
    for (j = 0; j < 500000; j++)
    {
        arr2[arr2.length] = 'elem' + j;
    }
}
Jens Roland
sumber
9
Pertanyaannya adalah apakah .length adalah nilai yang disimpan atau dihitung ketika diakses, karena jika yang terakhir benar maka mungkin menggunakan variabel sederhana (seperti j) karena nilai indeks mungkin bahkan lebih cepat
yoel halb
4
Senang melihat concat () dalam tes yang sama!
Justin
2
Saya bertanya-tanya berapa banyak ini telah berubah dalam empat tahun terakhir. (jsperf akan berguna sekarang.)
Paul Draper
8
Jenis pembandingan ini menarik, tetapi ironisnya tidak terlalu membantu dalam membuat aplikasi lebih cepat. Rendering loop jauh lebih mahal selama siklus apa pun. Selain itu, internal bahasa JS ini terus dioptimalkan oleh pengembang browser. Itulah alasan downvote saya, bukan karena menariknya jawaban ini. Jika Anda ingin aplikasi yang lebih cepat, patok terlebih dahulu dan lihat apa yang berubah - 99 dari 100 kali itu tidak akan menjadi masalah seperti yang ditunjukkan tes ini. Seringkali pengembangnya buruk JS / CSS - bukan browser internal yang membuatnya lambat.
LessQuesar
7
Saya setuju dengan LessQuesar untuk tetap berpegang pada builtin jika memungkinkan. Bukan berarti optimasi mikro buruk, tetapi dia benar bahwa browser selalu meningkatkan kecepatan engine mereka. Contoh kasus: pada tulisan ini, kinerja per-browser hampir identik untuk semua teknik yang tercantum di atas. Berarti banyak rewel beberapa tahun yang lalu untuk keuntungan kecil, ketika sekarang tidak ada keuntungan.
Beejor
297

Saya pikir perlu disebutkan bahwa push dapat dipanggil dengan beberapa argumen, yang akan ditambahkan ke dalam array secara berurutan. Sebagai contoh:

var arr = ['first'];
arr.push('second', 'third');
console.log(arr);

Sebagai hasilnya, Anda dapat menggunakan push.apply untuk menambahkan array ke array lain seperti:

var arr = ['first'];
arr.push('second', 'third');
arr.push.apply(arr, ['forth', 'fifth']);
console.log(arr);

ES5 beranotasi memiliki lebih banyak info tentang apa yang push dan apply lakukan.

Pembaruan 2016: dengan spread , Anda tidak perlu applylagi, seperti:

var arr = ['first'];
arr.push('second', 'third');

arr.push(...['fourth', 'fifth']);
console.log(arr) ;

Omnimike
sumber
25
jawaban terbaik untuk menambahkan array item tanpa membuat array baru.
Gabriel Littman
1
@GabrielLittman Khususnya karena menambahkan ke array, IMHO, harus memodifikasi array, bukan membuat yang baru.
Juan Mendes
3
Saya suka versi push.apply, lebih suka digunakan Array.prototype.push.apply().
Michael
1
Terkadang penting untuk mempertahankan referensi ke array - misalnya di AngularJs ketika array berada dalam ruang lingkup pada beberapa kontroler dan beberapa layanan perlu memperbarui data dalam array untuk tampilan. Itu sebabnya saya memilih solusi ini.
Lihat lebih tajam
Jawaban ini harus benar-benar lebih tinggi.
Anomali
80

Anda dapat menggunakan pushdan applyberfungsi untuk menambahkan dua array.

var array1 = [11, 32, 75];
var array2 = [99, 67, 34];

Array.prototype.push.apply(array1, array2);
console.log(array1);

Ini akan ditambahkan array2ke array1. Sekarang array1berisi [11, 32, 75, 99, 67, 34]. Kode ini jauh lebih sederhana daripada menulis forloop untuk menyalin setiap item dalam array.

Fizer Khan
sumber
Inilah yang saya perlukan, pertahankan referensi array asli
amit bakle
Jika Anda menggunakan ES6 / 7, Anda juga dapat menggunakan ...operator alih-alih menerapkan const a1 = [] const a2 = [5,6,7] const.push(...a2) edit: sintaksis sorot
Mieszko
Saya akan gunakan array1.concat(array2)dalam situasi ini. Panggilan ke pushtampaknya tidak perlu.
connectyourcharger
56

Dengan operator spread ES6 baru , menggabungkan dua array menggunakan pushmenjadi lebih mudah:

var arr = [1, 2, 3, 4, 5];
var arr2 = [6, 7, 8, 9, 10];
arr.push(...arr2);
console.log(arr);

Ini menambahkan konten arr2ke akhir arr.

Contoh Babel REPL

CodingIntrigue
sumber
47

Jika arrarray, dan valnilai yang ingin Anda tambahkan gunakan:

arr.push(val);

Misalnya

var arr = ['a', 'b', 'c'];
arr.push('d');
console.log(arr);

rjmunro
sumber
45

Gunakan concat:

a = [1, 2, 3];
b = [3, 4, 5];
a = a.concat(b);
console.log(a);

Mαzen
sumber
34

Javascript dengan ECMAScript 5 standar yang didukung oleh kebanyakan browser sekarang, Anda dapat menggunakan apply()untuk append array1ke array2.

var array1 = [3, 4, 5];
var array2 = [1, 2];

Array.prototype.push.apply(array2, array1);

console.log(array2); // [1, 2, 3, 4, 5]

Javascript dengan standar ECMAScript 6 yang didukung oleh Chrome dan FF dan IE Edge, Anda dapat menggunakan spreadoperator:

"use strict";
let array1 = [3, 4, 5];
let array2 = [1, 2];

array2.push(...array1);

console.log(array2); // [1, 2, 3, 4, 5]

The spreadOperator akan menggantikan array2.push(...array1);dengan array2.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.

Zhenyang Hua
sumber
30

Jika Anda ingin menambahkan dua array -

var a = ['a', 'b'];
var b = ['c', 'd'];

maka Anda bisa menggunakan:

var c = a.concat(b);

Dan jika Anda ingin menambahkan catatan gke array ( var a=[]) maka Anda dapat menggunakan:

a.push('g');
Pawan Singh
sumber
25

The push()Metode menambahkan item baru ke akhir array, dan mengembalikan panjang baru. Contoh:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi");

// The result of fruits will be:
Banana, Orange, Apple, Mango, Kiwi

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:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon", "Pineapple");

// The result of fruits will be:
Lemon, Pineapple, Banana, Orange, Apple, Mango

Dan terakhir, concat()metode ini digunakan untuk menggabungkan dua atau lebih array. Contoh:

var fruits = ["Banana", "Orange"];
var moreFruits = ["Apple", "Mango", "Lemon"];
var allFruits = fruits.concat(moreFruits);

// The values of the children array will be:
Banana, Orange, Apple, Mango, Lemon
Maarten Peels
sumber
25

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.

var a = [1, 2, 3];
a.push(4, 5);
console.log(a);

Keluaran:

[1, 2, 3, 4, 5]

2) The unshift()Metode menambahkan satu atau lebih elemen ke awal array dan mengembalikan panjang baru dari array:

var a = [1, 2, 3];
a.unshift(4, 5);
console.log(a); 

Keluaran:

[4, 5, 1, 2, 3]

3) The concat()metode yang digunakan untuk menggabungkan dua atau lebih array. Metode ini tidak mengubah array yang ada, tetapi mengembalikan array baru.

var arr1 = ["a", "b", "c"];
var arr2 = ["d", "e", "f"];
var arr3 = arr1.concat(arr2);
console.log(arr3);

Keluaran:

[ "a", "b", "c", "d", "e", "f" ]

4) Anda dapat menggunakan .lengthproperti array untuk menambahkan elemen ke akhir array:

var ar = ['one', 'two', 'three'];
ar[ar.length] = 'four';
console.log( ar ); 

Keluaran:

 ["one", "two", "three", "four"]

5) The splice()Metode mengubah isi array dengan menghapus elemen yang ada dan / atau menambahkan elemen baru:

var myFish = ["angel", "clown", "mandarin", "surgeon"];
myFish.splice(4, 0, "nemo");
//array.splice(start, deleteCount, item1, item2, ...)
console.log(myFish);

Keluaran:

["angel", "clown", "mandarin", "surgeon","nemo"]

6) Anda juga dapat menambahkan elemen baru ke array hanya dengan menentukan indeks baru dan menetapkan nilai:

var ar = ['one', 'two', 'three'];
ar[3] = 'four'; // add new element to ar
console.log(ar);

Keluaran:

["one", "two","three","four"]
Inconnu
sumber
Untuk 1), ini mengatakan "tanpa memodifikasi array asli." Tapi itulah yang pushsebenarnya: ia memodifikasi array asli dengan mendorong elemen baru ke dalamnya. Apakah saya salah membaca ini, atau haruskah ini diedit?
Phil Calvin
22

Sekarang, Anda dapat memanfaatkan sintaks ES6 dan cukup lakukan:

let array = [1, 2];
console.log([...array, 3]);

menjaga array asli tidak berubah.

José Antonio Postigo
sumber
17

Jika Anda tahu indeks tertinggi (seperti disimpan dalam variabel "i") maka Anda bisa melakukannya

myArray[i + 1] = someValue;

Namun jika Anda tidak tahu maka Anda bisa menggunakannya

myArray.push(someValue);

sebagai jawaban lain yang disarankan, atau Anda dapat menggunakan

myArray[myArray.length] = someValue; 

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

myArray[myArray.length + 1000] = someValue;

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:

if(myArray[i] === "undefined"){ continue; }

jika Anda yakin bahwa Anda tidak memiliki nol dalam array maka Anda bisa melakukannya:

if(!myArray[i]){ continue; }

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)

yo hal
sumber
Anda sebenarnya tidak bermaksud "undefined". Itu harus dibaca void 0! "undefined"adalah string dan "undefined" !== void 0, karenanya Anda if(myArray[i]salah kecuali array pada indeks idiatur ke string dengan isi yang setara dengan 'u'+'n'+'d'+'e'+'f'+'i'+'n'+'e'+'d'. Perhatikan juga bahwa Anda tidak boleh menggunakan undefined, sebagai gantinya gunakan void 0. Karena void 0selalu merupakan nilai yang tidak ditentukan, sementara undefineddapat didefinisikan melalui sesuatu seperti function x(undefined) { alert(undefined) } x("hello world"), jadi Anda tidak dapat memastikan apakah seseorang secara tidak sengaja mengatur window["undefined"]=1atau serupa.
Tino
14

Tambahkan Elemen Tunggal

//Append to the end
arrName.push('newName1');

//Prepend to the start
arrName.unshift('newName1');

//Insert at index 1
arrName.splice(1, 0,'newName1');
//1: index number, 0: number of element to remove, newName1: new element


// Replace index 3 (of exists), add new element otherwise.
arrName[3] = 'newName1';

Tambahkan Beberapa Elemen

//Insert from index number 1
arrName.splice(1, 0,'newElemenet1', 'newElemenet2', 'newElemenet3');
//1: index number from where insert starts, 
//0: number of element to remove, 
//newElemenet1,2,3: new elements

Tambahkan array

//join two or more arrays
arrName.concat(newAry1, newAry2);
//newAry1,newAry2: Two different arrays which are to be combined (concatenated) to an existing array
Srikrushna Pal
sumber
1
Mengapa tidak arrName.push('newElemenet1, newElemenet2, newElemenet3')?
Mihail Malostanidis
1
Dalam push () itu memasukkan elemen di terakhir tetapi dalam contoh saya itu memasukkan elemen di tengah yaitu dari indeks array 1 (seperti contoh) @Mihail Malostanidis
Srikrushna
Oh, saya pikir anggapannya arrNamepanjang 1.
Mihail Malostanidis
11

concat(), tentu saja, dapat digunakan dengan array 2 dimensi juga. Tidak diperlukan perulangan.

var a = [[1, 2], [3, 4]];

var b = [["a", "b"], ["c", "d"]];

b = b.concat (a);

waspada (b [2] [1]); // hasil 2

Karl
sumber
10

Biarkan properti panjang array melakukan pekerjaan:

myarray[myarray.length] = 'new element value added to the end of the array';

myarray.length mengembalikan jumlah string dalam array. JS berbasis nol sehingga elemen kunci array selanjutnya akan menjadi panjang array saat ini. EX:

var myarray = [0, 1, 2, 3],
    myarrayLength = myarray.length; //myarrayLength is set to 4
hawkeye126
sumber
9

Hanya ingin menambahkan cuplikan untuk penambahan elemen yang tidak merusak.

var newArr = oldArr.concat([newEl]);
Danil Gaponov
sumber
8

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:

const arr = [1, 2, 3];
const val = 4;

arr.concat([val]); // [1, 2, 3, 4]

Atau hanya:

[...arr, val] // [1, 2, 3, 4]
Lior Elrom
sumber
2
Benar dengan ES6 untuk operator lainnya.
monikapatelIT
7

Jika Anda menggunakan ES6, Anda dapat menggunakan operator spread untuk melakukannya.

var arr = [
    "apple",
    "banana",
    "cherry"
];

var arr2 = [
    "dragonfruit",
    "elderberry",
    "fig"
];

arr.push(...arr2);
JmLavoier
sumber
7

Anda dapat melakukannya menggunakan fitur javascript Es 6 baru:

// initialize array

var arr = [
    "Hi",
    "Hello",
    "Bangladesh"
];

// append new value to the array

arr= [...arr , "Feni"];

// or you can put a variable value

var testValue = "Cool";

arr = [...arr , testValue ];

console.log(arr); 

// final output  [ 'Hi', 'Hello', 'Bangladesh', 'Feni', 'Cool' ]
Hoque MD Zahidul
sumber
1
Ini tidak menambahkan nilai ke array, yang diminta OP. Ini menciptakan array baru, dengan isi array lama dan elemen baru. Sungguh, ini Array.concat.
Richard Matheson
5

jika Anda ingin menggabungkan 2 array tanpa duplikat Anda dapat mencoba kode di bawah ini

array_merge = function (arr1, arr2) {
  return arr1.concat(arr2.filter(function(item){
    return arr1.indexOf(item) < 0;
  }))
}

pemakaian:

array1 = ['1', '2', '3']
array2 = ['2', '3', '4', '5']
combined_array = array_merge(array1, array2)

Output: [1,2,3,4,5]

Emil Reña Enriquez
sumber
5

Tambahkan satu item

Untuk menambahkan satu item ke array, gunakan push()metode yang disediakan oleh objek Array:

const fruits = ['banana', 'pear', 'apple']
fruits.push('mango')
console.log(fruits)

push() bermutasi array asli.

Untuk membuat array baru, gunakan concat()metode Array:

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)

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 sebagai let, karena Anda tidak dapat menetapkan kembali a const):

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango')
console.log(allfruits)
let fruits = ['banana', 'pear', 'apple']
fruits = fruits.concat('mango')

Tambahkan beberapa item

Untuk menambahkan beberapa item ke sebuah array, Anda dapat menggunakannya push()dengan memanggilnya dengan beberapa argumen:

const fruits = ['banana', 'pear', 'apple']
fruits.push('mango', 'melon', 'avocado')
console.log(fruits)

Anda juga dapat menggunakan concat()metode yang Anda lihat sebelumnya, melewati daftar item yang dipisahkan oleh koma:

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat('mango', 'melon', 'avocado')
console.log(allfruits)

atau sebuah array:

const fruits = ['banana', 'pear', 'apple']
const allfruits = fruits.concat(['mango', 'melon', 'avocado'])
console.log(allfruits)

Ingat bahwa seperti yang dijelaskan sebelumnya metode ini tidak mengubah array asli, tetapi mengembalikan array baru.

Awalnya diposting di

Flavio Copes
sumber
4

Anda .push () yang nilai dalam. Contoh: array.push (nilai);

Jayme
sumber
4

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.

arr=['a','b','c'];
arr.push('d');
//now print the array in console.log and it will contain 'a','b','c','d' as elements.
console.log(array);
Satyapriya Mishra
sumber
2

Kami tidak memiliki fungsi append untuk Array di javascript, tetapi kami memiliki push dan unshift , bayangkan Anda memiliki array di bawah ini:

var arr = [1, 2, 3, 4, 5];

dan kami suka menambahkan nilai ke array ini, bisa kita lakukan, arr.push (6) dan itu akan menambahkan 6 ke akhir array:

arr.push(6); // return [1, 2, 3, 4, 5, 6];

kita juga dapat menggunakan unshift, lihat bagaimana kita dapat menerapkan ini:

arr.unshift(0); //return [0, 1, 2, 3, 4, 5];

Mereka adalah fungsi utama untuk menambah atau menambahkan nilai baru ke array.

Alireza
sumber
1

Anda dapat menggunakan metode push.

Array.prototype.append = function(destArray){
     destArray = destArray || [];
     this.push.call(this,...destArray);
     return this;
}
var arr = [1,2,5,67];
var arr1 = [7,4,7,8];
console.log(arr.append(arr1));// [7, 4, 7, 8, 1, 4, 5, 67, 7]
console.log(arr.append("Hola"))//[1, 2, 5, 67, 7, 4, 7, 8, "H", "o", "l", "a"]
Sanu Uthaiah Bollera
sumber
0

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);

Harunur Rashid
sumber
0

Menambahkan item pada array

let fruits =["orange","banana","apple","lemon"]; /*array declaration*/

fruits.push("avacado"); /* Adding an element to the array*/

/*displaying elements of the array*/

for(var i=0; i < fruits.length; i++){
  console.log(fruits[i]);
}
Ir Calif
sumber
0

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';

Aditya
sumber