javascript - 如果包含关键字,则获取数组值

标签 javascript jquery arrays

基本上,我想扫描一些内部包含关键字的数组,例如:

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/

相关文章:

javascript - jQuery - 单击单选按钮而不是更改单选按钮

javascript - 是否可以在没有 flash 的情况下在 IE 中使用 ajax 上传进度条?

jQuery:允许在 <a> 内选择文本

javascript - 如何添加和删除双列表框中的所有选项?

python - NUMPY 创建,填充随机二进制数据

javascript如何将函数结果与数组中的值一起传递给同一个函数

javascript - 使用查找索引从数组中获取对象或在 JavaScript 中获取映射键值的更快方法是什么?

javascript - 所有参数的总和(有些参数是数组);总和( [1,2,3,4], 50, 10, [10, 20],1 )

javascript - 如何将滚动条附加到 div 部分?

jquery - 光滑的轮播不适用于引导弹出窗口