【发布时间】:2016-01-28 21:02:04
【问题描述】:
我正在使用一个 JavaScript 库,其中包含一些代码,这些代码需要像这样的简单平面数组...
var items = [
'item 1',
'item 2',
'item 3',
];
这对于我的项目需求来说太有限了,所以我正在编辑库以接受一个对象数组,而不是像这样......
var items = [
{
id: 1,
name: 'Item 1',
image: 'img 1',
},
{
id: 2,
name: 'Item 2',
image: 'img 2',
},
{
id: 3,
name: 'Item 3',
image: 'img 3',
},
];
库调用一些这样的代码...
if (_helpers.inArray(val, this.options.items) || (val === '')) {
return val;
}
它检查一个字符串是否在items数组中。
因为我的items 数组不再是一个简单的字符串值,而是一个对象。这会破坏这部分库代码。
它调用的函数的代码是这样的……
var _helpers = {
inArray: function(val, arr) {
return ($.inArray(val, arr) !== -1);
},
};
所以我需要一些帮助来制作我自己的_helpers.inArray(val, this.options.items) 函数,该函数将检查对象属性name 下的对象数组中的字符串值
任何帮助表示赞赏
【问题讨论】:
-
试试这个:Javascript search inside a JSON object,应该可以帮到你
-
“选项”在哪里出现?
this.options.items -
@AdamJeffers 我认为
var items实际上是this.options.items的内容。 -
items.map(i => i.name).includes(val):-)
标签: javascript