var matches = $.grep($.trolley, function(element){
if ((element.id == grocery.id) && (element.dimensions == grocery.dimensions)) {
console.log('t');
} else {
console.log('f');
}
});
所以我说3项。 id 1 dimensions 4, id 2 dimensions 8, id 2 dimensions 8
我想找到不在数组中的项目,但只要它匹配数组中已有id
的项目,它就会返回匹配...即使{{ 1}}不同:(
答案 0 :(得分:2)
过滤函数需要返回true
或false
,具体取决于测试是否成功(实际上,只需要true
情况,但两者都更清晰,恕我直言):< / p>
var matches = $.grep($.trolley, function(element){
if ((element.id == grocery.id) && (element.dimensions == grocery.dimensions)) {
console.log('t');
return true;
} else {
console.log('f');
return false;
}
});
由于您没有返回任何内容,因此会隐式返回undefined
,这应该会导致空matches
。我不确定你为什么会得到任何东西,更不用说第一个匹配的id
。