Javascript和/或jQuery可以这样返回对象吗?
我对这段代码为什么不能按预期工作一无所知():Javascript和/或jQuery可以这样返回对象吗?,javascript,jquery,Javascript,Jquery,我对这段代码为什么不能按预期工作一无所知(): 该函数显然是在查找正确的数组元素(控制台显示为“find”),但返回没有发生。这里出了什么问题?您的FindMe函数没有return语句。您正在调用$。每个..您的FindMe函数都没有return语句。您只是在调用$。每个..这是因为循环函数返回找到的项,而不是函数FindMe “找到我”一无所获 function FindMe(searchID) { var result; $.each(data, function (i,
该函数显然是在查找正确的数组元素(控制台显示为“find”),但返回没有发生。这里出了什么问题?您的
FindMe
函数没有return
语句。您正在调用$。每个..您的FindMe
函数都没有return
语句。您只是在调用$。每个
..这是因为循环函数返回找到的项,而不是函数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;
}
这是因为循环函数返回找到的项,而不是函数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;
}
jQuery。每个
只是迭代,不收集。您需要的是与本地人相似的东西,如:
现在大多数浏览器都应该有Array.prototype.filter
,除了jQuery。每个只是迭代,不收集。您需要的是与本地人相似的东西,如:
大多数浏览器现在都应该有Array.prototype.filter
,除了您可以使用:
data = [{
"id": 1,
"value": 4.56
}, {
"id": 2,
"value": 7.89
}];
function FindMe(searchID) {
var searchObj=null;
$.each(data, function (i, v) { // i=index, v=value (which is an object)
if (v.id === searchID) {
console.log("Found: ");
console.log(v);
searchObj = v; // pass the desired object back to caller
return false;
}
});
return searchObj;
}
console.clear();
var test = FindMe(2);
object
console.log("Returned: ");
console.log(test);
object
您可以使用:
data = [{
"id": 1,
"value": 4.56
}, {
"id": 2,
"value": 7.89
}];
function FindMe(searchID) {
var searchObj=null;
$.each(data, function (i, v) { // i=index, v=value (which is an object)
if (v.id === searchID) {
console.log("Found: ");
console.log(v);
searchObj = v; // pass the desired object back to caller
return false;
}
});
return searchObj;
}
console.clear();
var test = FindMe(2);
object
console.log("Returned: ");
console.log(test);
object