在对象属性下的对象数组中搜索JavaScript中的字符串辅助
Search inside an array of objects under an object property for a string assistance in JavaScript
我使用的是一个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
下检查对象数组中的字符串值
感谢的任何帮助
可能是这样的吗?
var _helpers = {
inArray: function(val, arr) {
for (var i = 0; i < arr.length; i++){
if (arr[i].name === val)
return true;
}
return false;
},
};
https://jsfiddle.net/z54qnukd/1/
尝试将对象数组映射回简单的格式:
var _helpers = {
inArray: function(val, arr) {
var mappedArr = $.map( items, function(item, index) {
return item.name;
});
return ($.inArray(val, mappedArr) !== -1);
},
};
https://jsbin.com/tihuyuquni/edit?html,输出
相关文章:
- 如何使用jquery读取对象字符串
- 用javascript修复这个JSON对象字符串最干净的方法是什么
- Javascript对象字符串值-在应该隐藏的时候呈现的HTML代码
- 在Nodejs中将数组转换为类似子的对象字符串
- 对象字符串转换为JSON(抛出错误)
- 如何将事件对象字符串化
- 如何在 JavaScript 中将 JSON 对象字符串化为负零
- 将 JSON 对象字符串数组转换为 JS 对象数组
- 如何在角度转换请求中将对象字符串转换为 JSON 对象
- 删除开头的双引号&结束于JSON对象/字符串或Java脚本变量
- 将json对象字符串转换为值
- 如何迭代json对象字符串
- 将数组列表转换为json对象字符串
- 如何将继承的对象字符串化为JSON
- 如何按对象字符串值之一对对象数组进行数字排序
- 解析日期对象字符串并获取以毫秒为单位的时间
- 如何在javascript中解析javascript对象字符串
- Javascript类对象字符串到对象
- 从使用.data()添加的对象字符串中获取值
- 如何在javascript中添加一个函数变量到对象字符串