javascript - 为什么 .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]);
}
推荐阅读
- javascript - Three.js后处理运动模糊渲染黑屏
- ruby-on-rails - 单表继承 Ruby on Rails 5.2
- swift - 冗余一致性
到协议'UISearchBarDelegate' - Swift 4 - java - 跳过 OnPostExecute
- jquery - 按名称提交的表单不起作用
- javascript - Angular 6 - 应用启动前的 svg 加载微调器
- json - 如何解析要馈送到表单控件的 JSON 值?
- javascript - 如何多行div方形图案
- wpf - MahApps.Metro 窗口在关闭时导致错误
- java - 线程“主”java.sql.SQLException 中的异常:未选择数据库