लिए सबसे कारगर तरीका मनमाना लंबाई के एक शून्य भरा JavaScript श्रृंखला बनाने के लिए क्या है?कैसे एक शून्य भरा मनमाना लंबाई के JavaScript श्रृंखला बनाने के लिए?
उत्तर
कैसे इस तरह की कोशिश कर के बारे में:
Array.apply(null, new Array(10)).map(Number.prototype.valueOf,0);
//Output as [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
या
new Array(10+1).join('0').split('').map(parseFloat)
//Output as [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
संपादित करें: -
यदि आपका सरणी तो बस डाल कि एक समारोह जो एक संख्या लेता में गतिशील है और उस चर से 10 को प्रतिस्थापित करें।
मेरी सरणी लंबाई गतिशील – user2814799
बस उस फ़ंक्शन में डाल दें जो उस संख्या में है और उस चर द्वारा 10 को प्रतिस्थापित करें! – Shryme
@Shryme: - धन्यवाद। मैंने अपडेट किया है कि मेरे जवाब में भी! –
एक तरह से प्रत्यावर्तन इस्तेमाल कर सकते हैं।
function fillArray(l, a) {
a = a || [];
if (0 < l) {
l -= 1;
a[l] = 0;
return fillArray(l, a);
}
return a;
}
मैं भी एक और अधिक क्लासिक विकल्प था:
function fillArray(l) {
var a;
for (a = []; 0 < l; l-=1, a[l]=0);
return a;
}
function repeatArray(value, len){
var A=[],i=0;
while (i<len) A[i++]= value;
return A;
}
डिफ़ॉल्ट Uint8Array
, Uint16Array
करके और Uint32Array
कक्षाओं शून्य रखने के रूप में यह मान है, तो आप किसी भी जटिल भरने तकनीक की जरूरत नहीं है , बस:
var ary = new Uint8Array(10);
सरणीके सभी तत्वडिफ़ॉल्ट रूप से शून्य हो जाएगा।
आप एक 9 लंबाई सरणी चाहते हैं:
Array.apply(null, {length: 9}).map(function() {return 0;})
आप एक एक्स-लंबाई सरणी चाहते हैं:
Array.apply(null, {length: X}).map(function() {return 0;})
आप एक सरणी है और अपने मूल्यों को फिर से लिखने करना चाहते हैं:
var arr=[54,53,6,7,88,76]
arr=arr.map(function() {return 0;})
आप कुछ भी साथ सरणी आप चाहते हैं भर सकता है बस वापसी पर मान बदलकरअंदर समारोह अंदर .map:
Array.apply(null, {length: 9}).map(function() {return "a string";})
Array.apply(null, {length: 9}).map(function() {return Math.random();})
Array.apply(null, {length: 9}).map(function() {return NaN;})
Array.apply(null, {length: 9}).map(function() {return null;})
Array.apply(null, {length: 9}).map(function() {return true;})
Array.apply(null, {length: 9}).map(function() {return;})
पिछले एक अपरिभाषित
के साथ सरणी भर देगी मैं परीक्षण किया दोनों Unit8Array
[].slice.apply(new Uint8Array(n));
और शामिल होने/विभाजन विधि
new Array(n + 1).join('0').split('').map(parseFloat);
दिलचस्प परिणामों के साथ
jsPerf में
। क्रोम और फ़ायरफ़ॉक्स दोनों गिनती (48,000 और 76,000 संचालन के बीच) पर काफी धीमी थीं। लेकिन ओपेरा और सफारी दोनों ने Uint8Array फ़ंक्शन (438,000 ऑपरेशन तक) के साथ अद्भुत प्रदर्शन किया। मुझे लगता है कि मैं Uint8Array का उपयोग करना शुरू कर दूंगा और आशा करता हूं कि क्रोम और फ़ायरफ़ॉक्स में सुधार होगा।
न्यू ES6 सरणी एक्सटेंशन आप fill
विधि के साथ मूल रूप से ऐसा करने की अनुमति।अब आईई एज, क्रोम और एफएफ इसका समर्थन करता है, लेकिन compatibility table
new Array(3).fill(0)
आपको [0, 0, 0]
देगा। आप सरणी को new Array(5).fill('abc')
(यहां तक कि वस्तुओं और अन्य सरणी) जैसे किसी भी मान से भर सकते हैं।
आप को भरने के साथ पिछले सरणियों संशोधित कर सकते हैं उस के शीर्ष पर:
arr = [1, 2, 3, 4, 5, 6]
arr.fill(9, 3, 5) # what to fill, start, end
जो आप देता है: [1, 2, 3, 9, 9, 6]
स्पष्ट रूप से सबसे अच्छा और सबसे अर्थपूर्ण तरीका! – Casimir
जावास्क्रिप्ट ES6 में वहाँ एक बहुत ही आसान समाधान है। क्योंकि मैं इसे codegolf कोशिश कर रहा हूँ मैं यहाँ आया कम:
n = 999 // arbitrary length
a = Array(n).fill(0)
console.log(a)
इस बारे में क्या?
(new Array(123)).fill(0)
यह बहुत आसान, सुरुचिपूर्ण है और आप किसी भी मूल्य के साथ सरणी भर सकते हैं।
- 1. JavaScript श्रृंखला
- 2. सी ++ मनमाना लंबाई पूर्णांकों
- 3. JavaScript श्रृंखला नंबर
- 4. JavaScript श्रृंखला मुख्य/मान जोड़े
- 5. कैसे JavaScript श्रृंखला के सभी मानों में टेक्स्ट संलग्न करने
- 6. एक फ़ाइल होने लंबाई की एक प्रतिलिपि बनाने के लिए लंबाई से अधिक 260 वर्ण
- 7. एक सरणी शून्य के तत्व बनाने
- 8. JavaScript श्रृंखला .reduce साथ async/इंतजार
- 9. नियम श्रृंखला के लिए एक संदेश?
- 10. क्या मनमाना बाइनरी प्रारूपों के लिए स्कीमा भाषा बनाने के लिए कोई प्रयास किया गया है?
- 11. जावा: मनमाना मूल्यों के लिए दौर
- 12. सॉकेटएसिंसेन्ट आर्ट्स बफर शून्य से भरा है
- 13. शून्य लंबाई बहुआयामी सरणी
- 14. स्ट्रिंग प्रकार को शून्य बनाने के लिए कैसे करें
- 15. एक निश्चित लंबाई के लिए पायथन डेटाटाइप
- 16. शून्य वर्णों के साथ STL basic_string लंबाई
- 17. एक निश्चित लंबाई के लिए सरणी दोहराएं?
- 18. यदि लंबाई शून्य है
- 19. एक मनमाना स्थिति
- 20. सी में शून्य लंबाई बिट फ़ील्ड के लिए विभिन्न प्रकार?
- 21. शून्य लंबाई मैचों
- 22. तर्क लंबाई शून्य
- 23. एक वस्तु बनाने के लिए 2 अन्य
- 24. कैसे बनाने के लिए एक Parse.com
- 25. एंड्रॉयड बनाने ViewPropertyAnimator एनीमेशन श्रृंखला
- 26. कैसे एक सिस्टम बनाने के लिए। Linq.Expressions.Expression पसंद के लिए?
- 27. केवल पढ़ने के लिए कैसे (प्रोग्रामेटिक रूप से भरा) प्राथमिकताएं?
- 28. एक सीएसएस बनाने के लिए
- 29. लगातार संख्याओं की श्रृंखला (विभिन्न लंबाई)
- 30. क्या MemoryMappedFile.CreateNew (...) शून्य के साथ फ़ाइल बनाने की गारंटी है?
क्या कोई कारण है कि आप एक्स-लम्बाई के साथ एक्स-लम्बाई की एक सरणी के विपरीत शून्य-भरे हुए हैं, जिसे आसानी से 'नया ऐरे (एक्स)' घोषित किया जा सकता है, जहां 'x' 0 और 2^32 के बीच पूर्णांक है - 1. –
मैंने एक बार एक बहुत ही समान प्रश्न पूछा, और मुझे कई अच्छे उत्तर मिल गए: http://stackoverflow.com/questions/17776149/is-there-a-more-concise-way-to-initialize-empty-multidimensional -arrays –
संभव डुप्लिकेट [शून्य भरा जावास्क्रिप्ट सरणी बनाने के लिए सबसे प्रभावी तरीका?] (http://stackoverflow.com/questions/1295584/most- कुशल-way-to-create-a-zero-filled-javascript- सरणी) –