Array.prototype.sort
कैसे एक सरणी में अपरिभाषित मान संभालता है?जावास्क्रिप्ट array.sort अपरिभाषित मानों के साथ
var array = [1,undefined,2,undefined,3,undefined,4];
var array2 = [];
array2[0] = 1;array2[2] = 2;array2[4] = 3;array2[6] = 4;
जब बुला array.sort(function(l,r) { ... });
मूल्यों undefined
कभी नहीं l
या r
के रूप में पारित कर रहे हैं।
क्या मैं गारंटी दे सकता हूं कि सभी अपरिभाषित मान हमेशा सभी ब्राउज़रों के लिए सरणी के अंत में जाएंगे?
निम्नलिखित पाश एक सरणी
array.sort();
for (var i = 0; array[i] !== undefined; i++) {
// handle array
}
आप मान सकते हैं कि कोई घोषित undefined
एक चर के रूप में सभी गैर undefined
डेटा को संभाल सकते हैं।
आईई में <= 8 बुला हटाता है, वे पूरी तरह से सरणी से निकाल दिया जाएगा। देखें: https://github.com/documentcloud/underscore/issues/484#issuecomment-4055242 – Gijs