Ext.each(boundsExtend, function(value)
{
if(value != record.ID) break;
});
Vậy làm thế nào để tôi phá vỡ hoặc tiếp tục Ext.each loop?Làm thế nào để phá vỡ hoặc tiếp tục Ext.each
Ext.each(boundsExtend, function(value)
{
if(value != record.ID) break;
});
Vậy làm thế nào để tôi phá vỡ hoặc tiếp tục Ext.each loop?Làm thế nào để phá vỡ hoặc tiếp tục Ext.each
Từ docs:
If the supplied function returns false, iteration stops and this method returns the current index.
Vì vậy, như trong ví dụ của OP (giả sử record
là trong phạm vi và không null):
Ext.each(boundsExtend, function(value) {
if (value != record.ID) {
return false;
}
// other logic here if ids do match
});
Lưu ý rằng trở false
thoát vòng lặp hoàn toàn, vì vậy trong trường hợp này, bản ghi không phù hợp đầu tiên sẽ bỏ qua bất kỳ kiểm tra bổ sung nào.
Tuy nhiên tôi đoán rằng những gì bạn đang thực sự cố gắng làm là vòng cho đến bạn tìm thấy bản ghi khớp, thực hiện một số logic, sau đó đoản mạch vòng lặp. Nếu đó là trường hợp, logic sẽ thực sự là:
Ext.each(boundsExtend, function(value) {
if (value === record.ID) {
// do your match logic here...
// if we're done, exit the loop:
return false;
}
// no match, so keep looping (i.e. "continue")
});
Bất kỳ giá trị khác mà không phải là rõ ràng false
(ví dụ null
theo mặc định) sẽ tiếp tục vòng lặp đi.
Tuyệt vời, nhưng làm thế nào để tiếp tục? –
Trả lại bất cứ điều gì nhưng sai. –
Yay Tôi up-modded Brian –
var countries = ['Vietnam', 'Singapore', 'United States', 'Russia'];
Ext.Array.each(countries, function(name, index, countriesItSelf) {
console.log(name);
});
Ext.Array.each(countries, function(name, index, countriesItSelf) {
if (name === 'Singapore') {
return false; // break here
}
});
Return false
để 'phá vỡ' và trở về bất cứ điều gì nhưng false
để 'tiếp tục'.
var array = [1, 2, 3];
Ext.each(array, function(ele){
console.log(ele);
if(ele !== 2){
return false; // break out of `each`
}
})
Ext.each(array, function(ele){
console.log(ele);
if(ele !== 3){
return true; // continue
}
})
Dưới đây là ngoại lệ tương tự mà tôi nhận được khi không thực hiện việc này và xóa đối tượng. Do đó itemId không có ở đó. "Uncaught TypeError: Không thể đọc thuộc tính 'itemId' của undefined" – MacGyver