0 को छोड़ दिया जा रहा है
आप (परिवर्तनशील) परिवर्तनशील रहे सरणी जब आप इसे माध्यम से पुनरावृत्ति कर रहे हैं। यह एक प्रोग्रामिंग नो-गो है।
के माध्यम से चलना करते हैं ...
मैं = 0 और 2 भी है और spliced हो जाता है, अपने सरणी अब [5, 9, 14, 0, 1, 3, 6, 7]
है i = 1 और हमने 5 की जांच भी नहीं की जो अब इंडेक्स 0 में है ... हम अब 9 की जांच कर रहे हैं जो अजीब है, ठीक
i = 2 और 14 यहां तक कि स्प्लिस्ड हो गया है, आपकी सरणी अब है [5, 9, 0, 1, 3, 6, 7]
i = 3 और 0 छोड़ दिया जाता है (जैसा कि 0 अब सूचकांक 2 में है), 1 अजीब है, ठीक
मैं = 4 है अजीब ठीक
मैं = 5 है भी और
spliced हो i = 6 अजीब ठीक
क्या आप वास्तव में चाहते हैं इस ...
Array.prototype.filter = function(func) {
var result = new Array();
for (var i = 0; i < this.length; ++i)
if (func(this[i]))
result.push(this[i]);
return result;
}
values = [2, 5, 9, 14, 0, 1, 3, 6, 7];
odd_only = values.filter(function(x) { x % 2 != 0; });
आप सभी मूल्यों पुनरावृत्ति नहीं कर रहे हैं, तो आप पीछे की ओर क्योंकि सरणी हर जोड़ पर reindexed है पाश करने के लिए है। – bfavaretto
एक ऐसा महसूस कर रहा था जो हो सकता है, लेकिन टेस्ट केस को पर्याप्त रूप से सेट नहीं किया है ... लेकिन पीछे की तरफ +1 करने के बारे में अच्छी युक्ति! – user1766760
अजीब पूर्णांक चाहते हैं? [2, 5, 9, 14, 0, 1, 3, 6, 7]। फ़िल्टर (/ ./। परीक्षण,/[13579] $ /) – dandavis