आपने पहले सीखा है कि जावास्क्रिप्ट के push()
का उपयोग करके किसी सरणी से आइटम कैसे जोड़ना और निकालना है विधि।
लेकिन क्या होगा यदि हम किसी मौजूदा सरणी में आइटम्स की एक सरणी जोड़ना चाहते हैं? दूसरे शब्दों में, अगर हम दो अलग-अलग सरणियों को एक साथ मिलाना चाहते हैं तो क्या होगा?
जावास्क्रिप्ट में दो या दो से अधिक सरणियों को एक साथ मिलाने के लिए, आप Array.prototype.push.apply()
का उपयोग कर सकते हैं।
मान लीजिए कि हमारे पास दो फलों की टोकरियाँ हैं, और हम सभी फलों को एक टोकरी में रखना चाहते हैं। कोई समस्या नहीं है।
ES5
var fruitBasketOne = ["apple", "banana", "grapes"]
var fruitBasketTwo = ["orange", "apricot", "pear"]
Array.prototype.push.apply(fruitBasketOne, fruitBasketTwo)
// returns ['apple', 'banana', 'grapes', 'orange', 'apricot', 'pear']
console.log(fruitBasketOne)
// returns ["orange", "apricot", "pear"]
console.log(fruitBasketTwo)
यह दूसरी सरणी को पहले में मर्ज कर देगा। ध्यान दें कि दूसरी सरणी, fruitBasketTwo
अभी भी स्मृति में है। यह विधि नहीं मूल सरणी को हटा दें।
ES6 के साथ सरणियों का विलय
ES6 स्प्रेड ऑपरेटर का उपयोग करके विलय करना और भी आसान हो सकता है:
let fruitBasketOne = ["apple", "banana", "grapes"]
let fruitBasketTwo = ["orange", "apricot", "pear"]
fruitBasketOne.push(...fruitBasketTwo)
// returns ['apple', 'banana', 'grapes', 'orange', 'apricot', 'pear']
console.log(fruitBasketOne)
संगतता
पहली पुश विधि सभी आधुनिक ब्राउज़रों के साथ संगत है, और कम से कम IE6 पर वापस आती है। दूसरी विधि केवल आधुनिक ब्राउज़र में काम करती है, लेकिन आप अपने जावास्क्रिप्ट को वापस ES5 संगत कोड में संकलित करने और पुराने ब्राउज़र में काम करने के लिए Babel जैसे प्री-प्रोसेसर का उपयोग कर सकते हैं।
ऐरे पुश विधि के बारे में अधिक जानकारी।