【发布时间】:2014-07-22 19:36:26
【问题描述】:
有人可以帮我修复这个功能吗?如果我将两个变量更改为整数(即:'987'),它将起作用,但如果我将它们更改为像'test'这样的字符值,它将不会搜索数组。
我是 javascript 新手,如果这是一个简单的解决方法,请原谅。提前谢谢你。
var myArray = [{
'Vendor': '123',
'Item': '987',
'ID': '1'
}, {
'Vendor': '123',
'Item': '654',
'ID': '2'
}];
function findById(source, Vendor, Item) {
return source.filter(function(obj) {
return +obj.Vendor === +Vendor, +obj.Item === +Item;
})[0];
}
var vendin = '123';
var prodin = '654';
var result = findById(myArray, vendin, prodin);
console.log(result.ID);
有问题的变量是vendin 和prodin。
【问题讨论】:
-
我对你
return声明中的逗号感到困惑。你不是要使用return +obj.Vendor === +Vendor && +obj.Item === +Item;吗?
标签: javascript arrays variables filter find