javascript जावास्क्रिप्ट में किसी सरणी की शुरुआत में मैं नए सरणी तत्व कैसे जोड़ सकता हूं?




arrays (5)

ES6 के साथ, फैल ऑपरेटर का उपयोग करें ... :

डेमो

var arr = [23, 45, 12, 67];
arr = [34, ...arr]; // RESULT : [34,23, 45, 12, 67]

console.log(arr)

मुझे सरणी की शुरुआत में तत्व जोड़ने या प्रीपेड करने की आवश्यकता है।

उदाहरण के लिए, यदि मेरी सरणी नीचे की तरह दिखती है:

[23, 45, 12, 67]

और मेरे AJAX कॉल से प्रतिक्रिया 34 , मैं चाहता हूं कि अद्यतन सरणी निम्न की तरह हो:

[34, 23, 45, 12, 67]

वर्तमान में मैं इसे इस तरह करने की योजना बना रहा हूं:

var newArray = [];
newArray.push(response);

for (var i = 0; i < theArray.length; i++) {
    newArray.push(theArray[i]);
}

theArray = newArray;
delete newArray;

क्या ऐसा करने का कोई बेहतर तरीका है? क्या जावास्क्रिप्ट में कोई अंतर्निहित कार्यक्षमता है जो यह करता है?

मेरी विधि की जटिलता O(n) और बेहतर कार्यान्वयन देखना वास्तव में दिलचस्प होगा।


unshift प्रयोग करें। यह push की तरह है, सिवाय इसके कि यह अंत के बजाय सरणी की शुरुआत में तत्व जोड़ता है।

  • unshift / push - एक सरणी की शुरुआत / अंत में एक तत्व जोड़ें
  • shift / pop - हटाएं और सरणी के पहले / अंतिम तत्व को वापस करें

एक साधारण आरेख ...

   unshift -> array <- push
   shift   <- array -> pop

और चार्ट:

          add  remove  start  end
   push    X                   X
    pop           X            X
unshift    X             X
  shift           X      X

एमडीएन ऐरे दस्तावेज देखें । लगभग हर भाषा जिसमें किसी सरणी से धक्का / पॉप तत्वों की क्षमता होती है, में भी unshift / shift (कभी-कभी push_front / pop_front कहा जाता है) तत्वों की क्षमता होगी, आपको इन्हें कभी भी लागू नहीं करना चाहिए।


var a = [23, 45, 12, 67];
a.unshift(34);
console.log(a); // [34, 23, 45, 12, 67]


concat माध्यम से ऐसा करने का एक और तरीका

var arr = [1, 2, 3, 4, 5, 6, 7];
console.log([0].concat(arr));

unshift और unshift बीच का अंतर यह है कि unshift एक नई सरणी देता है। उनके बीच प्रदर्शन here पाया जा सकता here

function fn_unshift() {
  arr.unshift(0);
  return arr;
}

function fn_concat_init() {
  return [0].concat(arr)
}

परीक्षा परिणाम यहां दिया गया है


आपके पास एक सरणी है: var arr = [23, 45, 12, 67];

शुरुआत में कोई आइटम जोड़ने के लिए, आप splice का उपयोग करना चाहते हैं:

var arr = [23, 45, 12, 67];
arr.splice(0, 0, 34)
console.log(arr);





arrays