इटरेशन एक जरूरी है। संबंधित आइटम को हटाने के लिए आपको .splice()
का उपयोग करना होगा और लूप के लिए break
का उपयोग करना होगा।
var i, id = '123', date = '6/7/2010';
for(var i = 0, il = MyCheckedCourses.length;i<il;i++) {
if(MyCheckedCourses[i].courseID == id && MyCheckedCourses[i].endDate == date) {
MyCheckedCourses.splice(i, 1);
break;
}
}
आप एक फ़ंक्शन कर सकते हैं और इस तरह के पैरामीटर के साथ इसका उपयोग कर सकते हैं; बाद
function remove(id, date) {
for(var i = 0, il = MyCheckedCourses.length;i<il;i++) {
if(MyCheckedCourses[i].courseID == id && MyCheckedCourses[i].endDate == date) {
MyCheckedCourses.splice(i, 1);
break;
}
}
}
// Example usage:
remove('123', '6/7/2010');
संपादित इयान के comment:
मुझे लगता है कि अपने संग्रह अद्वितीय आइटम नहीं हैं। यदि आपको सभी वस्तुओं के माध्यम से पुन: प्रयास करना नहीं है और आपको इसे पीछे की ओर करना है क्योंकि यदि आप सरणी से तत्व हटाते हैं तो यह सूचकांक बदल जाएगा और पुनरावृत्ति सही ढंग से काम नहीं करेगी। तो यह फ़ंक्शन एक और अधिक सुरक्षित संस्करण है;
function remove(id, date) {
for(var i = MyCheckedCourses.length - 1;i >= 0;i--) {
if(MyCheckedCourses[i].courseID == id && MyCheckedCourses[i].endDate == date) {
MyCheckedCourses.splice(i, 1);
}
}
}
// Example usage:
remove('123', '6/7/2010');
स्रोत
2013-08-16 14:15:21
यह कोई ऑब्जेक्ट नहीं है, यह ऑब्जेक्ट्स का "सरणी" है। – mavili
'विंडो। MyCheckedCourses' एक सरणी है, एक jQuery ऑब्जेक्ट नहीं। –
jQuery कहां है? –