2012-07-25 23 views

उत्तर

14

की तरह आप नहीं कर सकते लगता है फिट होगा। यहाँ (KO GitHub पृष्ठ पर utils.js से) arrayForEach के स्रोत

arrayForEach: function (array, action) { 
    for (var i = 0, j = array.length; i < j; i++) 
     action(array[i]); 
}, 

आप को तोड़ने या जारी रखने के लिए, आप बस ऊपर स्रोत कोड में के रूप में पाश के लिए अपने स्वयं के रोल कर सकते हैं की जरूरत है है।

+0

'j' प्रारंभ करने का बिंदु क्या है? आप बस 'i

+2

@TheMuffinMan जे का बिंदु प्रत्येक लूप पुनरावृत्ति के दौरान सरणी को कम करने के लिए संभवतः कुछ मिलीसेकंड को सहेजना है। [यह स्टैक ओवरफ्लो प्रश्न] देखें (http://stackoverflow.com/questions/17989270/javascript-for-loop-performance-storing-array-length-in-a-variable)। Jsperf से उस प्रश्न के स्वीकृत उत्तर में संदर्भित, यह आधुनिक ब्राउज़र पर दिखता है, इससे कोई फर्क नहीं पड़ता है। – bmode

9

ko.utils.arrayFirst या ko.utils.arrayFilter की तरह लगता है बेहतर तो अपने वर्तमान दृष्टिकोण को अपनी आवश्यकताओं

+0

आवश्यकता प्रदर्शन के बारे में है। मैं एक लूप में कई चीजें बनाना चाहता हूं। – ozz

+0

सरल पाश का उपयोग करें, यह आपको कुछ मिलीसेकंड बचाएगा, क्योंकि इस मामले में आप केवल कोड चलाएंगे और आप जिस सर फंक्शन को सरणी में पास करेंगे उसे कॉल न करें। – Madman

संबंधित मुद्दे

 संबंधित मुद्दे