javascript interview सरणी में एकाधिक तत्व धक्का



javascript javascript eval atob(' dmf glx (8)

मैं एकाधिक तत्वों को एक सरणी के रूप में धक्का देने की कोशिश कर रहा हूं, लेकिन त्रुटि प्राप्त कर रहा हूं

> a = []
[]
> a.push.apply(null, [1,2])
TypeError: Array.prototype.push called on null or undefined

मैं इसी तरह की चीजें करने की कोशिश कर रहा हूं जो मैं रूबी में करता हूं, मैं सोच रहा था कि apply कुछ ऐसा है *

>> a = []
=> []
>> a.push(*[1,2])
=> [1, 2]

Answer #1

आप Array.concat उपयोग कर सकते हैं:

var result = a.concat(b);

Answer #2
var a=[];
a.push({
 name_a:"abc",
 b:[]
});

a.b.push({
  name_b:"xyz"
});

Answer #3

var arr = [1];
var newItems = [2, 3];
arr.push(newItems[1]);
console.log(arr);
या आपको कई वस्तुओं की आवश्यकता है
var arr = [1];
var newItems = [2, 3];
arr=[newItems[0],newItems[1],...];
console.log(arr);
या सभी वस्तुओं
var arr = [];
var newItems = [2, 3,4,5,6,7];
arr=newItems;
console.log(arr);


Answer #4

JQuery मर्ज समारोह का प्रयोग करें। यह बहुत आसान है
$.merge(oldArray, NewElements); पुराने एरे को आपके द्वारा प्रदान किए गए तत्वों के साथ जोड़ा जाएगा।
अधिक जानकारी के लिए देखें

http://api.jquery.com/jQuery.merge/


Answer #5

apply या call साथ ऑब्जेक्ट्स के अधिकांश कार्यों का उपयोग करते समय, context पैरामीटर उस ऑब्जेक्ट होना चाहिए जिस पर आप काम कर रहे हैं।

इस मामले में, आपको a.push.apply(a, [1,2]) (या अधिक सही ढंग से Array.prototype.push.apply(a, [1,2]) )


Answer #6

यदि आप ECMAScript 2015 (उर्फ ES6, ES2015) में Array.concat विकल्प चाहते हैं, तो, जैसे, सरणी को संशोधित नहीं करता है, लेकिन एक नई सरणी देता है जिसे आप स्प्रेड ऑपरेटर का उपयोग कर सकते हैं:

var arr = [1];
var newItems = [2, 3];
var newerItems = [4, 5];
var newArr = [...arr, ...newItems, ...newerItems];
console.log(newArr);

नोट यह push विधि से अलग है क्योंकि push विधि सरणी को संशोधित / संशोधित करती है।

यदि आप देखना चाहते हैं कि आपके ब्राउज़र में कुछ ES2015 सुविधाएं काम करती हैं तो कंगैक्स की संगतता तालिका जांचें।

यदि आप ब्राउज़र समर्थन की प्रतीक्षा नहीं करना चाहते हैं और उत्पादन में ES2015 का उपयोग करना चाहते हैं तो आप babel या इसी तरह के ट्रांस्फरर का भी उपयोग कर सकते हैं।


Answer #7

उपयोग करने के लिए कई उत्तरों की सिफारिश है: Array.prototype.push(a, b) । यह एक अच्छा तरीका है, लेकिन अगर आपके पास वास्तव में बड़ा बी होगा, तो आपके पास ओवरफ्लो त्रुटि होगी (बहुत सारे तर्कों के कारण)। यहां सावधान रहें।

देखें एन सरणी को संयोजित करने का सबसे प्रभावी तरीका क्या है? अधिक जानकारी के लिए।


Answer #8

ईएस 6 में आप स्प्रेड ऑपरेटर का उपयोग कर सकते हैं

const arr = []
arr.push(
    ...[
        item1,
        item2,
        item3,
    ]
)




javascript