为什么.indexOf不是数组对象的函数



我有一份产品清单和它们的原始价格。我想把原价放在折扣价旁边。为此,我创建了一个包含对象的数组。但当我试图看看标题是否与其中一个对象匹配时,如果匹配,就拉原价——我得到了"。indexOf不是函数";错误这是的代码示例

var items_list = {"Paid Item 1":"900","Paid Item 1 and something else":"600", "Free Item":"65"}; 
var title = "Paid Item 1"; 
if (items_list.indexOf(title)) {
console.log(items_list[title]);
}

我错过了什么?谢谢

items_list不是一个数组,但它是一个对象。因此,您可以使用in运算符来代替indexOf函数。

这是工作版本。

var items_list = {"Paid Item 1":"900","Paid Item 1 and something else":"600", "Free Item":"65"}; 
var title = "Paid Item 1"; 
if (title in items_list) {
console.log(items_list[title]);
}

最新更新