关于此代码为何无法按预期工作的原因,我给人留下了空白(jsFiddle在此处):
data = [
{
"id": 1,
"value": 4.56
},
{
"id": 2,
"value": 7.89
}];
function FindMe(searchID)
{
$.each(data, function (i, v)
{
// i=index, v=value (which is an object)
if (v.id === searchID)
{
console.log("Found: ");
console.log(v);
return v; // pass the desired object back to caller
}
});
}
console.clear();
var test = FindMe(2); // causes the console to show the correct object
console.log("Returned: ");
console.log(test); // shows "undefined" instead of a returned object
该函数显然会尽力找到正确的数组元素(控制台将其显示为“ Found”),但返回没有发生。这是怎么了
这是因为循环函数返回找到的项目,而不是函数FindMe。
找到我什么也没回报。
function FindMe(searchID) {
var result;
$.each(data, function (i, v) { // i=index, v=value (which is an object)
if (v.id === searchID) {
console.log("Found: ");
console.log(v);
result = v; // pass the desired object back to caller
return false;
}
});
return result;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句