基本上,我想扫描一些内部包含关键字的数组,例如:
var origArray = [];
var newName = ['ManagingOrg', 'ActiveOrg', 'Severity', 'SeverityClassification'
];
for (var i = 0; i < newName.length - 1; i++) {
var object = {};
object[newName[i]] = newName[i];
object = JSON.stringify(object);
origArray.push(object);
}
我想获得橙色,橙色356和橙色fsa 。我试图使用不同的Jquery方法来完成我的功能。
arr = [ {"name":"apple", "count": 2},
{"name":"orange", "count": 5},
{"name":"pear", "count": 3},
{"name":"orange 356", "count": 16},
{"name":"orange fsa", "count": 15},]
和替代方案:
var newArr = arr.filter(function(item){
return item.name == "orange"; // tried = and === but no luck
});
console.log("Filter results:",newArr);
但它只为我返回了arr [1],我怎么能够把所有东西都包含在内?&#34; orange&#34;?
解决方案:
var newArr = [];
for(var i= 0, l = arr.length; i< l; i++){
if(arr[i].name = "orange" ){
newArr.push(arr[i]);
}
}
console.log("Filter results:",newArr);
答案 0 :(得分:1)
使用搜索字符串
return index
的{{3}},如果大于 0 ,则表示字符串中存在search
字符串。< / p>
试试这个:
var arr = [{
"name": "apple",
"count": 2
}, {
"name": "orange",
"count": 5
}, {
"name": "pear",
"count": 3
}, {
"name": "orange 356",
"count": 16
}, {
"name": "orange fsa",
"count": 15
}]
var newArr = arr.filter(function(item) {
return item.name.indexOf("orange") > -1;
});
console.log(newArr);
<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
答案 1 :(得分:1)
例如,您可以使用String indexOf函数代替:
return item.name == "orange";
你这样做:
return item.name.indexOf("orange") != -1;
字符串indexOf()方法返回字符串中第一次出现指定搜索词的位置,如果找不到搜索词,则返回-1。