Bir diziye bir şeyler nasıl eklenir?


2893

JavaScript'teki bir diziye bir nesneyi (dize veya sayı gibi) nasıl eklerim?

Yanıtlar:


4387

Array.prototype.pushBir diziye değer eklemek için yöntemi kullanın :

// initialize array
var arr = [
  "Hi",
  "Hello",
  "Bonjour"
];

// append new value to the array
arr.push("Hola");

console.log(arr);


push()Tek bir çağrıda bir diziye birden fazla değer eklemek için bu işlevi kullanabilirsiniz :

// 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]);
}


Güncelleme

Bir dizinin öğelerini başka bir diziye eklemek istiyorsanız, şunları kullanabilirsiniz firstArray.concat(secondArray):

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

arr = arr.concat([
  "dragonfruit",
  "elderberry",
  "fig"
]);

console.log(arr);

Güncelleme

İlk dizinin anlamı olan bir dizinin başına herhangi bir değer eklemek istiyorsanız, bu yanıta ek olarak Array.prototype.unshift, bu amaçla kullanabilirsiniz .

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

Aynı anda aynı anda birden fazla değer eklemeyi de destekler push.


131
.Push öğesinin dönüş değerinin dizi (veya .concat gibi yeni bir değer) değil, dizinin yeni uzunluğunu temsil eden bir tam sayı olduğuna dikkat edin.
Jay

8
@RST: hiç kullanma for(kullanma .forEach).
Robert Siemer

34
Orijinal kodun iyi olduğunu söyleyebilirim. Tesise erişimi optimize etmek için herhangi bir şeye gerek yoktur length. Tercüman bu konuda harika bir iş çıkarır ve onu optimize etseniz de etmeseniz de Gerçek Dünya'da herhangi bir fark yaratmaz. Diziniz o kadar büyük olursa, optimizasyon .lengthgerçekten yardımcı olacaktır, büyük olasılıkla bir dizi artık doğru veri yapısı değildir. Kullanmanın forEachavantajları vardır, ancak her yinelemenin işlev çağrısı bir maliyete neden olduğu ve hiçbir şey kaydetmediği için, artan performansın bunlardan biri olacağı şüphelidir.
Stijn de Witt

29
@RobertSiemer lengthBir dizinin özelliği, onu her aradığınızda hesaplanmaz array; bu, yalnızca diziyi değiştirdiğinizde güncellenen nesnede depolanan bir değişkendir . Bu nedenle arr.length, forkoşula dahil olmanın hiçbir performans maliyeti yoktur .
mikeyq6

7
@Mojimi Yeni başlayanlar gibi, bunun gibi uç durumlarda performans soruları ile ilgili tavsiyeleri görmezden gelin. Daha anlamlı sözdizimini kullanın. Zamanla Javascript çalışma zamanları daha fazla optimizasyon ekler - forEachgeri arama işlevlerini satır içi yaparlar (bazıları muhtemelen bunu zaten yapar) ve işlev tarafından yorumlanmak yerine derlenecek kadar sık ​​çağrılırsa, oluşturulan makine kodunda bir fark olmaz. çalışma zamanı. Aynı tavsiye, aslında montajcı olmayan herhangi bir dil için de geçerlidir.
Mörre

1041

Yalnızca tek bir değişken ekliyorsanız push()iyi çalışır. Başka bir dizi eklemeniz gerekiyorsa, şunu kullanın concat():

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

var ar3 = ar1.concat(ar2);

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

Concat etkilemez ar1ve ar2yeniden atanmadıkça, örneğin:

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

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

Burada çok fazla bilgi var .


163
Sadece insanların var olanı yakaladığından emin ol ar3 = ar1.concat (ar2); Bölüm. ar1.concat (ar2), değerleri ar1'e kaydetmez. Bunu ar3'e veya ar1'e geri atayarak yakalamanız gerekir, örneğin: ar1 = ar1.concat (ar2);
vbullinger

31
Bunun yanlış cevap olduğunu söyleyebilirim aslında. Soruydu How do I append to an array in JavaScript?ama concataslında yaratır bir yeni dizi. Bu önemli bir fark! Bunun yerine Omnimike'nin aşağıdaki cevabının aslında en iyisi olduğunu söyleyebilirim: Push.apply komutunu kullanarak yeni bir dizi oluşturmadan mevcut bir diziye bütün bir diziyi itin.
Stijn de Witt

@StijndeBir önceki yorumda belirtildiği gibi yeni bir dizi oluşturmadan ar1 = ar1.concat(ar2);da ekleyebilirsinizar1
cameronjonesweb

2
@cameronjonesweb Aslında yaptığı şey, aynı diziyle aynı içeriğe sahip yeni bir dizi oluşturmak ar1, eklemek ar2ve sonra yeni diziyi döndürmektir. Atama bölümünü ( ar1 = ...) bu kod satırından çıkarmanız ve orijinalin ar1 aslında değişmediğini göreceksiniz . Bir kopya yapmaktan kaçınmak istiyorsanız, ihtiyacınız olacak push. Bana inanma , docs'a inan : "concat () yöntemi yeni bir dizi döndürür" için dokümanlardaki ilk cümle concat.
Stijn de Witt

@StijndeWitt Haklısın. Ancak, ona bakmak için farklı bir yol, .push sadece tek değişkenler / nesneler eklemede iyi çalışır, ancak ar2yukarıdaki Diziler eklenmesi söz konusu olduğunda karışıklık yaratacaktır . .pushSenaryo sonucu olacaktır = [ar1, [ar2]]. .concat bu sorunu çözer, ancak hızdan ve yeni bir diziden fedakarlık ederek. .pushDizi eklerinde düzgün kullanmak için önce içerilen öğeyi döngüye alın ve her birini itin. ar2.forEach(each => { ar1.push(each); });
Ade

408

Bazı hızlı kıyaslamalar (her test = 500 bin ekteki öğe ve sonuçlar birden fazla çalışmanın ortalamasıdır) aşağıdakileri gösterdi:

Firefox 3.6 (Mac):

  • Küçük diziler: arr[arr.length] = bdaha hızlı (300ms - 800ms)
  • Büyük diziler: arr.push(b)daha hızlı (500ms ve 900ms)

Safari 5.0 (Mac):

  • Küçük diziler: arr[arr.length] = bdaha hızlıdır (90ms ve 115ms)
  • Büyük diziler: arr[arr.length] = bdaha hızlı (160ms - 185ms)

Google Chrome 6.0 (Mac):

  • Küçük diziler: Önemli bir fark yok (ve Chrome HIZLI! Sadece ~ 38ms !!)
  • Büyük diziler: Önemli bir fark yok (160ms)

arr.push()Sözdizimini daha çok seviyorum , ama arr[arr.length]en azından ham hızda Sürüm ile daha iyi olacağımı düşünüyorum . Yine de bir IE çalıştırmak sonuçlarını görmek isterim.


Kıyaslama döngülerim:

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

9
Soru, .length'in depolanmış bir değer olup olmadığı veya erişilirken hesaplanmasıdır, çünkü ikincisi doğruysa, dizin değeri olarak basit bir değişken (j gibi) kullanmak daha hızlı olabilir
yoel halb

4
Aynı testte concat () işlevini görmek isterdim!
Justin

2
Son dört yılda bunun ne kadar değiştiğini merak ediyorum. (jsperf şu anda kullanışlı olurdu.)
Paul Draper

8
Bu tür kıyaslama ilginçtir, ancak uygulamaları daha hızlı hale getirmede ironik bir şekilde yararlı değildir. Oluşturma döngüsü herhangi bir döngü sırasında çok daha pahalıdır. Buna ek olarak, JS dilinin bu iç bileşenleri tarayıcı geliştiricileri tarafından sürekli olarak optimize edilmektedir. Bu cevabın ilginçliği değil, düşüşümün nedeni budur. Daha hızlı uygulamalar istiyorsanız, önce kıyaslama yapın ve neyin değiştirileceğini görün - 100 kereden 99'u bu testin gösterdiği gibi bir sorun olmayacak. Genellikle zayıf geliştirici JS / CSS - yavaşlayan tarayıcı dahili değil.
LessQuesar

7
Mümkün olduğunca yerleşiklere yapıştırma konusunda LessQuesar'a katılıyorum. Mikro optimizasyon kendi başına kötü değil, ancak tarayıcıların her zaman motor hızlarını geliştirdikleri konusunda haklı. Durumda: bu yazıdan itibaren, tarayıcı başına performans yukarıda listelenen tüm tekniklerle neredeyse aynıdır. Birkaç yıl önce böylesine küçük bir kazanç için çok fazla yaygara demek, şimdi kazanç yok.
Beejor

297

Ben itme diziye sırayla eklenecek birden fazla argüman ile çağrılabilir söz düşünüyorum. Örneğin:

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

Bunun bir sonucu olarak push.apply komutunu aşağıdaki gibi başka bir diziye eklemek için kullanabilirsiniz:

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

Ek açıklamalı ES5 , itme ve uygulama işlemlerinin tam olarak ne yaptığı hakkında daha fazla bilgiye sahiptir .

2016 güncellemesi: yayılmış olarak , applyartık buna ihtiyacınız yok, örneğin:

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

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


25
yeni bir dizi oluşturmazken bir dizi öğeyi eklemek için en iyi cevap.
Gabriel Littman

1
@GabrielLittman Özel olarak bir diziye ekleme yapan IMHO, diziyi değiştirmeli, yenisini oluşturmamalıdır.
Juan Mendes

3
Ben push.apply sürümünü seviyorum, Array.prototype.push.apply()ama kullanmayı tercih ederim .
Michael

1
Bazen bir diziye yapılan başvuruyu korumak önemlidir - örneğin AngularJs'de bir dizi bazı denetleyicilerin kapsamı içindeyse ve bazı hizmetlerin dizideki verileri görüntüleme için güncellemesi gerektiğinde. Bu yüzden bu çözümü destekliyorum.
daha keskin

Bu cevap gerçekten daha yüksek olmalı.
Anomali

80

İki diziyi eklemek için kullanabilir pushve applyçalışabilirsiniz.

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

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

Bu ekler array2için array1. Şimdi array1içeriyor [11, 32, 75, 99, 67, 34]. Bu kod, fordizideki her bir öğeyi kopyalamak için döngüler yazmaktan çok daha basittir .


Bu ne gerekli olduğunu, orijinal dizi referans korumak
amit bakle

ES6 / 7 ...kullanıyorsanız, const a1 = [] const a2 = [5,6,7] const.push(...a2) düzenleme uygulamak yerine operatörü de kullanabilirsiniz : sözdizimi vurgulama
Mieszko

Bana kalırsa doğru array1.concat(array2)bu durumda. Çağrısı pushgereksiz görünüyor.
şarj cihazınızı bağlayın


47

Bir arrdizi ve valeklemek istediğiniz değerse kullanın:

arr.push(val);

Örneğin

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



34

Şu anda çoğu tarayıcı tarafından desteklenen ECMAScript 5 standardına sahip Javascript, apply()eklemek array1için kullanabilirsiniz array2.

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

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

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

Chrome ve FF ve IE Edge tarafından desteklenen ECMAScript 6 standardına sahip Javascript , spreadişleci kullanabilirsiniz :

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

array2.push(...array1);

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

spreadOperatör yerini alacak array2.push(...array1);olan array2.push(3, 4, 5);tarayıcı mantığı düşünme olduğunda.

Bonus puanı

Her iki dizideki tüm öğeleri saklamak için başka bir değişken oluşturmak isterseniz, bunu yapabilirsiniz:

ES5 var combinedArray = array1.concat(array2);

ES6 const combinedArray = [...array1, ...array2]

Forma operatörü ( ...) bir koleksiyondaki tüm öğeleri dağıtır.


30

İki dizi eklemek istiyorsanız -

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

o zaman kullanabilirsiniz:

var c = a.concat(b);

Ve garray ( var a=[]) öğesine kayıt eklemek istiyorsanız şunu kullanabilirsiniz:

a.push('g');

25

push()Yöntem, bir dizinin sonuna yeni öğeler ekler ve yeni uzunluğu verir. Misal:

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

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

Sorunuzun tam cevabı zaten cevaplandı, ancak bir diziye öğe eklemenin diğer bazı yollarına bakalım.

unshift()Yöntemi bir dizinin başlangıcına yeni öğeler ekler ve yeni uzunluğunu döndürür. Misal:

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

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

Ve son olarak, concat()yöntem iki veya daha fazla diziyi birleştirmek için kullanılır. Misal:

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

25

JavaScript'e bir dizi eklemenin birkaç yolu vardır:

1)push() bir yöntem bir dizinin sonuna, bir ya da daha fazla öğe ekler ve dizinin yeni uzunluğu verir.

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

Çıktı:

[1, 2, 3, 4, 5]

2)unshift() yöntemi bir dizinin başına bir veya daha fazla öğe ekler ve dizinin yeni uzunluğu verir:

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

Çıktı:

[4, 5, 1, 2, 3]

3)concat() yöntemi, iki veya daha fazla dizi birleştirme için kullanılır. Bu yöntem varolan dizileri değiştirmez , bunun yerine yeni bir dizi döndürür.

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

Çıktı:

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

4) Dizinin .lengthsonuna bir öğe eklemek için dizinin özelliğini kullanabilirsiniz:

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

Çıktı:

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

5)splice() Yöntem, mevcut elemanları çıkarılması ve / veya yeni elemanları eklenerek bir dizi içeriğini değiştirir:

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

Çıktı:

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

6) Bir diziye yeni bir dizin belirleyip bir değer atayarak da yeni bir öğe ekleyebilirsiniz:

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

Çıktı:

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

1) için bu, "orijinal diziyi değiştirmeden" yazıyor. Ama tam anlamıyla pushbunu yapar: yeni öğeleri üzerine iterek orijinal diziyi değiştirir. Bunu yanlış mı okuyorum yoksa düzenlenmeli mi?
Phil Calvin

22

Şimdi, ES6 sözdiziminden yararlanabilir ve şunları yapabilirsiniz:

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

orijinal diziyi değişmez tutmak.


17

En yüksek dizini biliyorsanız ("i" değişkeninde depolanan gibi)

myArray[i + 1] = someValue;

Ancak bilmiyorsanız,

myArray.push(someValue);

önerilen diğer cevaplar gibi, veya kullanabilirsiniz

myArray[myArray.length] = someValue; 

Dizinin sıfır temelli olduğunu unutmayın, bu nedenle .length en yüksek dizini ve bir dizini döndürür.

Ayrıca, sırayla eklemeniz gerekmediğini ve değerleri olduğu gibi atlayabileceğinizi unutmayın.

myArray[myArray.length + 1000] = someValue;

Bu durumda, aradaki değerlerin tanımsız bir değeri olacaktır.

Bu nedenle, bir JavaScript'te döngü yaparken, o noktada bir değerin gerçekten var olduğunu doğrulamak iyi bir uygulamadır.

Bu, aşağıdaki gibi bir şeyle yapılabilir:

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

Dizide sıfır bulunmadığından eminseniz, şunları yapabilirsiniz:

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

Tabii bu durumda, myArray [i] koşulu olarak kullanmadığınızdan emin olun (internet üzerinden bazı insanlar, en yüksek endeksten daha büyük olan en büyük endeksten daha sonra, yanlış)


Aslında demek istemiyorsun "undefined". Okumalı void 0! "undefined"bir dizedir ve "undefined" !== void 0bu nedenle if(myArray[i], dizindeki dizi, ieşdeğer içeriğe sahip dizeye ayarlanmadığı sürece yanlıştır 'u'+'n'+'d'+'e'+'f'+'i'+'n'+'e'+'d'. Ayrıca kullanmak undefinedyerine kullanmamanız gerektiğini unutmayın void 0. Çünkü void 0her zaman tanımsız değerdir süre undefinedgibi bir şey aracılığıyla tanımlanabilir function x(undefined) { alert(undefined) } x("hello world")birileri kazara ayarlanmış olmadığından emin olamaz bu yüzden, window["undefined"]=1ya da benzer.
Tino

14

Tek Eleman Ekle

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

Birden Çok Öğe Ekleme

//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

Dizi ekle

//join two or more arrays
arrName.concat(newAry1, newAry2);
//newAry1,newAry2: Two different arrays which are to be combined (concatenated) to an existing array

1
Neden olmasın arrName.push('newElemenet1, newElemenet2, newElemenet3')?
Mihail Malostanidis

1
Push () öğesinde son olarak ekler, ancak örneğimde öğeyi ortasına yani dizi dizini 1'den (örneğe göre) @Mihail Malostanidis
Srikrushna

Oh, varsayımın arrNameuzun olduğunu düşündüm 1.
Mihail Malostanidis

11

concat()Tabii ki, 2 boyutlu dizilerle de kullanılabilir. Döngü gerekmez.

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

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

b = b. konkat (a);

uyarısı (b [2] [1]); // sonuç 2


10

Dizi uzunluğu özelliği iş yapsın:

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

myarray.length dizideki dizelerin sayısını döndürür. JS sıfır tabanlıdır, bu nedenle dizinin bir sonraki öğe anahtarı dizinin geçerli uzunluğu olacaktır. EX:

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

9

Sadece bir öğenin tahribatsız eklenmesi için bir snippet eklemek istiyorum.

var newArr = oldArr.concat([newEl]);

8

Bir diziye değer ekleme

Yana Array.prototype.push bir dizinin sonuna bir veya daha fazla eleman ekler ve dizinin yeni uzunluğunu döndürür bazen istediğimiz, biz şöyle bir şey yapabilirsiniz, böylece sadece yeni yukarı güncel dizisini almak için:

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

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

Ya da sadece:

[...arr, val] // [1, 2, 3, 4]

2
Dinlenme operatörü için ES6 ile düzeltin.
monikapatelIT

7

Eğer ES6 kullanıyorsanız kullanabileceğiniz yayılmış bunu yapmak için operatöre.

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

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

arr.push(...arr2);

7

yeni javascript Es 6 özelliğini kullanarak yapabilirsiniz:

// 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' ]

1
Bu işlem OP'nin sorduğu değeri diziye eklemez. Bu, eski dizinin ve yeni öğelerin içeriğiyle yeni bir dizi oluşturur. Gerçekten, bu Array.concat.
Richard Matheson

5

2 diziyi kopya olmadan birleştirmek istiyorsanız aşağıdaki kodu deneyebilirsiniz

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

kullanımı:

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

Çıktı: [1,2,3,4,5]


5

Tek bir öğe ekle

Bir diziye tek bir öğe eklemek push()için Array nesnesi tarafından sağlanan yöntemi kullanın :

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

push() orijinal diziyi değiştirir.

Bunun yerine yeni bir dizi oluşturmak için concat()Array yöntemini kullanın :

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

Uyarı concat()aslında diziye bir öğe eklemek, ancak başka bir değişkene atamak veya orijinal dizideki (olarak ilan etmek yeniden atayabilirsiniz yeni bir dizi oluşturur vermez letgibi değil yeniden atamakta bir can, const):

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

Birden çok öğe ekle

Bir diziye birden çok öğe eklemek için, öğeyi push()birden çok bağımsız değişkenle çağırarak kullanabilirsiniz :

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

concat()Virgülle ayrılmış öğelerin bir listesini ileterek daha önce gördüğünüz yöntemi de kullanabilirsiniz :

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

veya bir dizi:

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

Daha önce açıklandığı gibi bu yöntemin orijinal diziyi değiştirmediğini, ancak yeni bir dizi döndürdüğünü unutmayın.

İlk yayınlandığı yer:


4

Bu değeri .push () olarak kullanırsınız. Örnek: array.push (value);


4

Bir diziye tek bir değer eklemek istiyorsanız, push yöntemini kullanmanız yeterlidir. Dizinin sonuna yeni bir öğe ekleyecektir.

Ancak, birden çok öğe eklemek istiyorsanız, öğeleri yeni bir dizide saklayın ve ikinci diziyi ilk diziyle birleştirin ... istediğiniz şekilde.

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

2

Javascript'te Array için ekleme fonksiyonumuz yok, ancak itme ve kaydırma yok, aşağıdaki diziye sahip olduğunuzu hayal edin:

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

ve bu diziye bir değer eklemeyi seviyoruz, yapabiliriz, arr.push (6) ve dizinin sonuna 6 ekleyecektir:

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

Ayrıca unshift kullanabiliriz, bunu nasıl uygulayabileceğimize bakın:

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

Dizilere yeni değerler eklemek veya dizilere yeni değerler eklemek için ana işlevlerdir.


1

Push yöntemini kullanabilirsiniz.

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"]

0

push()dizinin sonuna yeni bir öğe ekler.
pop()bir öğeyi dizinin sonundan kaldırır.

Bir diziye nesne (dize veya sayı gibi) eklemek için şunu kullanın -
array.push(toAppend);


0

Diziye öğe ekleme

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

0

Değer eklemek için push () yöntemini kullanabilirsiniz; arr.push("Test1", "Test2");

Diziniz varsa concat () Array1.concat(Array2)

Ekleyecek tek bir öğeniz varsa, uzunluk menthod'unu da deneyebilirsiniz. array[aray.length] = 'test';

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.