首页 > 解决方案 > 为什么 .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]);
}

我错过了什么?谢谢!

标签: javascript

解决方案


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]);
}

推荐阅读