javascript - सरणी में कुछ कैसे जोड़ना है?




arrays append (20)

मैं जावास्क्रिप्ट में किसी सरणी में ऑब्जेक्ट (जैसे स्ट्रिंग या नंबर) कैसे जोड़ूं?


बस तत्व के विनाशकारी जोड़ के लिए एक स्निपेट जोड़ना चाहते हैं।

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

सरणी लंबाई संपत्ति काम करते हैं:

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

myarray.length सरणी में तारों की संख्या देता है। जेएस शून्य आधारित है इसलिए सरणी की अगली तत्व कुंजी सरणी की वर्तमान लंबाई होगी। पूर्व:

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

एक सरणी के लिए एक मूल्य संलग्न करें

चूंकि push() एक सरणी के अंत में एक या अधिक तत्व जोड़ता है और सरणी की नई लंबाई देता है , कभी-कभी हम केवल नए अप-टू-डेट सरणी प्राप्त करना चाहते हैं ताकि हम ऐसा कुछ कर सकें:

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

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

या केवल:

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

अब, आप ईएस 6 सिंटैक्स का लाभ उठा सकते हैं और बस ऐसा कर सकते हैं:

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

मूल सरणी अपरिवर्तनीय रखते हुए।


आप push उपयोग कर सकते हैं और दो सरणी जोड़ने के apply फ़ंक्शन apply कर सकते हैं।

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

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

यह array1 को array1 जोड़ देगा। अब array1 में [11, 32, 75, 99, 67, 34] । यह कोड सरणी में प्रत्येक आइटम की प्रतिलिपि बनाने के for लूप के लिए लिखने से कहीं अधिक सरल है।


आप पुश विधि का उपयोग कर सकते हैं।

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

कुछ त्वरित बेंचमार्किंग (प्रत्येक टेस्ट = 500k संलग्न तत्व और परिणाम कई रनों के औसत होते हैं) निम्नलिखित दिखाते हैं:

फ़ायरफ़ॉक्स 3.6 (मैक):

  • छोटे सरणी: arr[arr.length] = b तेज है (300ms बनाम 800ms)
  • बड़े सरणी: arr.push(b) तेज है (500 मिमी बनाम 900 मिमी)

सफारी 5.0 (मैक):

  • छोटे सरणी: arr[arr.length] = b तेज है (90 मिमी बनाम 115 मिमी)
  • बड़े सरणी: arr[arr.length] = b तेज है (160 मिमी बनाम 185ms)

Google क्रोम 6.0 (मैक):

  • छोटे सरणी: कोई महत्वपूर्ण अंतर नहीं है (और क्रोम तेज़ है! केवल ~ 38ms !!)
  • बड़े सरणी: कोई महत्वपूर्ण अंतर नहीं (160 मिमी)

मुझे arr.push() वाक्यविन्यास बेहतर पसंद है, लेकिन मुझे लगता है कि मैं कम से कम कच्ची गति में arr[arr.length] संस्करण के साथ बेहतर होगा। हालांकि मैं आईई रन के परिणाम देखना पसंद करूंगा।

मेरा बेंचमार्किंग लूप:

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


यदि arr एक सरणी है, और val वह मान है जिसे आप उपयोग करना चाहते हैं:

arr.push(val);

उदाहरण के लिए

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

लॉग इन करेंगे:

['a', 'b', 'c', 'd']

यदि आप ES6 का उपयोग कर रहे हैं तो आप इसे करने के लिए spread ऑपरेटर का उपयोग कर सकते हैं।

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

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

arr.push(...arr2);

यदि आप एक सरणी में एक एकल मान जोड़ना चाहते हैं, तो बस पुश विधि का उपयोग करें। यह सरणी के अंत में एक नया तत्व जोड़ देगा।

लेकिन यदि आप कई तत्व जोड़ना चाहते हैं तो तत्वों को एक नई सरणी में संग्रहीत करें और दूसरी सरणी को पहले सरणी के साथ संयोजित करें ... या तो जिस तरह से आप चाहें।

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

यदि आप केवल एक चर को जोड़ रहे हैं, तो push() ठीक काम करता है। यदि आपको किसी अन्य सरणी को जोड़ने की आवश्यकता है, तो concat() उपयोग करें:

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

var ar3 = ar1.concat(ar2);

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

थूक जाएगा:

"1,2,3"
"4,5,6"
"1,2,3,4,5,6"

ar1 और ar2 तब तक प्रभावित नहीं करता जब तक कि पुन: असाइन नहीं किया गया हो, उदाहरण के लिए:

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

प्रदर्शित होगा:

"1,2,3,4,5,6"

यहां बहुत सारी जानकारी here


यदि आप दो सरणी जोड़ना चाहते हैं -

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

तो आप इसका उपयोग कर सकते हैं:

var c = a.concat(b);

और यदि आप सरणी ( var a=[] ) में रिकॉर्ड g जोड़ना चाहते हैं तो आप इसका उपयोग कर सकते हैं:

a.push('g');

यदि आप मान जोड़ना चाहते हैं तो आप पुश () का उपयोग कर सकते हैं जैसे arr.push("Test1", "Test2");

यदि आपके पास सरणी है तो आप concat () जैसे Array1.concat(Array2) उपयोग कर सकते हैं

यदि आपके पास जोड़ने के लिए केवल एक तत्व है तो आप लंबाई menthod जैसे array[aray.length] = 'test'; भी आज़मा सकते हैं array[aray.length] = 'test';


concat() , ज़ाहिर है, 2 आयामी सरणी के साथ भी इस्तेमाल किया जा सकता है। कोई लूपिंग की आवश्यकता नहीं है।

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

var बी = [["ए", "बी"], ["सी", "डी"]];

बी = बी .concat (ए);

चेतावनी (ख [2] [1]); // परिणाम 2



push() विधि एक सरणी के अंत में नई वस्तुओं को जोड़ती है, और नई लंबाई देता है। उदाहरण:

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

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

आपके प्रश्न का सटीक उत्तर पहले से ही उत्तर दिया गया है, लेकिन आइए किसी आइटम को सरणी में जोड़ने के अन्य तरीकों को देखें।

unshift() विधि एक सरणी की शुरुआत में नए आइटम जोड़ती है, और नई लंबाई देता है। उदाहरण:

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

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

और आखिरकार, दो या अधिक सरणी में शामिल होने के लिए concat() विधि का उपयोग किया जाता है। उदाहरण:

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

आप इसे नए जावास्क्रिप्ट एस 6 सुविधा का उपयोग कर कर सकते हैं:

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

एकल तत्व संलग्न करें

//Append at first
arrName.push('newName1');

//Append at last
arrName.unshift('newName1');

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


//Append at index 3
arrName[3] = 'newName1';

एकाधिक तत्व संलग्न करें

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

सरणी संलग्न करें

//join two or more array
arrName.concat(newAry1, newAry2);
//newAry1,newAry2: Two different array which is to be append to the existing array

जावास्क्रिप्ट में एक सरणी जोड़ने के कुछ तरीके हैं:

1) push() विधि एक सरणी के अंत में एक या अधिक तत्व जोड़ती है और सरणी की नई लंबाई देता है।

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

आउटपुट:

[1, 2, 3, 4, 5]

2) unshift() विधि एक सरणी की शुरुआत में एक या अधिक तत्व जोड़ती है और सरणी की नई लंबाई देता है:

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

आउटपुट:

[4, 5, 1, 2, 3]

3) दो या अधिक सरणी मर्ज करने के लिए concat() विधि का उपयोग किया जाता है। यह विधि मौजूदा सरणी को नहीं बदलेगी , बल्कि इसके बजाय एक नई सरणी लौटाती है।

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

आउटपुट:

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

4) सरणी के अंत में तत्व जोड़ने के लिए आप सरणी की। .length गुण का उपयोग कर सकते हैं:

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

आउटपुट:

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

5) splice() विधि मौजूदा तत्वों को हटाकर और / या नए तत्व जोड़कर सरणी की सामग्री को बदलती है:

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

आउटपुट:

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

6) आप एक नई अनुक्रमणिका निर्दिष्ट करके और एक मान निर्दिष्ट करके सरणी में एक नया तत्व भी जोड़ सकते हैं:

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

आउटपुट:

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




append