$.each方法中:
return false = break
return true = continue
若在其中return对象,则默认是return true
$(function() {
var result = test();
console.log(result);//返回结果一直为{}
})
function test(){
var my = [{'id': 1, 'name': 'aaa'},{'id': 2, 'name': 'bbb'},{'id': 3, 'name': 'ccc'},{'id': 4, 'name': 'ddd'}];
$.each(my, function(idx, item){
if(item.id == 3){
return item;
}
})
return {};
}
如下代码可以正常返回对象:
$(function() {
var result = test();
console.log(result);//返回结果为{'id': 3, 'name': 'ccc'}
})
function test(){
var result = {};
var my = [{'id': 1, 'name': 'aaa'},{'id': 2, 'name': 'bbb'},{'id': 3, 'name': 'ccc'},{'id': 4, 'name': 'ddd'}];
$.each(my, function(idx, item){
if(item.id == 3){
result = item;
return false;//表示查找到后就结束循环
}
})
return result;
}