愿所有的美好和期待都能如约而至

如何在Java脚本中过滤数组中的多个值

发布时间:  来源:互联网  作者:匿名  标签:arrays error how to filter multiple values from an array in javascript exception  热度:37.5℃

本文介绍了如何在Java脚本中过滤数组中的多个值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个json元素数组。我想根据特定值过滤数组。下面是数组。

var arr = [
{name: bobby, id: 1, age: 23},
{name: charls, id: 2, age: 28},
{name: indi, id: 3, age: 23},
{name: charlie, id: 4, age: 25}]

从上面的数组中,我想只过滤名字是Bobby&&indi的员工。我尝试过以下代码。

var filteredArray;
for (var i =0 ; i < arr.length; i++){
    if(arr[i].name === 'bobby' || arr[i].name === 'indi'){
        filteredArray.push(arr[i]);
    }
}

但通过上面的代码,我需要多次提到OR(||)条件,这些名称的数量可能会发生变化,比如1次我只想要有Bobby名字的员工,而其他时间我想要Bobby、Indi和Charlie。有没有办法让它充满活力。如果是的话,请告诉我。提前谢谢。

推荐答案

您可以将需要筛选的名称存储在数组中,然后检查名称是否存在于数组中

例如

数据-lang=”js”数据-隐藏=”假”数据-控制台=”真”数据-巴贝尔=”假”>

var arr = [
    {name: "bobby", id: 1, age: 23},
    {name: "charls", id: 2, age: 28},
    {name: "indi", id: 3, age: 23},
    {name: "charlie", id: 4, age: 25}
]
const names = ["bobby", "indi"];

const filtered = arr.filter((item)=>{
  return names.includes(item.name)
});

console.log(filtered)

对于较老的(例如IE11)浏览器-

数据-lang=”js”数据-隐藏=”假”数据-控制台=”真”数据-巴贝尔=”假”>

var arr = [
    {name: "bobby", id: 1, age: 23},
    {name: "charls", id: 2, age: 28},
    {name: "indi", id: 3, age: 23},
    {name: "charlie", id: 4, age: 25}
]
const names = ["bobby", "indi"];

const filtered = [];

for(var i =0; i<arr.length - 1; i++){
  if(names.indexOf(arr[i].name) > -1){
      filtered.push(arr[i])
  }
}

console.log(filtered)

这篇关于如何在Java脚本中过滤数组中的多个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,

勇敢去编程!

勇敢的热爱编程,未来的你一定会大放异彩,未来的生活一定会因编程更好!

TOP