基本上,我想扫描一些内部包含关键字的数组,例如:
arr = [ {"name":"apple", "count": 2},
{"name":"orange", "count": 5},
{"name":"pear", "count": 3},
{"name":"orange 356", "count": 16},
{"name":"orange fsa", "count": 15},]
我想要橙色、橙色 356 和橙色 fsa。我尝试使用不同的 Jquery 方法来完成我的功能。
var newArr = arr.filter(function(item){
return item.name == "orange"; // tried = and === but no luck
});
console.log("Filter results:",newArr);
和替代方案:
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);
但它只为我返回 arr[1],我怎样才能得到包含“orange”的所有内容?
解决方案:
var newArr = [];
var newArr = arr.filter(function(item){
return item.eman.indexOf("orange")!=-1;
});
document.getElementById("123").innerHTML = "Filter results:"+JSON.stringify(newArr);
最佳答案
例如,您可以使用 String indexOf 函数来代替:
return item.name == "orange";
你会:
return item.name.indexOf("orange") != -1;
字符串indexOf()方法返回指定搜索词在字符串中第一次出现的位置,如果未找到搜索词则返回-1。
关于javascript - 如果包含关键字,则获取数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35678613/