我有一个看起来像这样的对象数组
var result = [{"id":"1","price":"20.46"},{"id":"2","price":"40.00"}]
现在我可以通过
访问它result[0].price
但是我要做的是遍历对象数组,并将id与用户输入的id进行比较并返回匹配值。因此索引应该是无关紧要的
我试图遍历对象数组,但我可能犯了一些语法错误而没有得到任何回复。
var userinputid = 1;
result.forEach(function(){
if(userinputid == result.id){
alert(result.price);
});
如何解决这个问题。
答案 0 :(得分:6)
而不是result.id
,您应该使用currentElementInLoop.id
var result = [{"id":"1","price":"20.46"},{"id":"2","price":"40.00"}]
var userinputid = 1;
result.forEach(function(e) {
if (userinputid == e.id) alert(e.price);
});

答案 1 :(得分:1)
你错过了一个结束括号。并且您需要使用元素值参数或索引参数。 尝试
result.forEach(function (elementVal) {
if (userinputid === elementVal.id){
alert(elementVal.price);
}
});
答案 2 :(得分:1)
你忘了索引:
var result = [{"id":"1","price":"20.46"},{"id":"2","price":"40.00"}]
var userinputid = 1;
result.forEach(function(e, index){
if(userinputid == result[index].id){
alert(result[index].price);
};
});