how to filter multiple values from an array in javascript(如何在Java脚本中过滤数组中的多个值)
本文介绍了如何在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脚本中过滤数组中的多个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:如何在Java脚本中过滤数组中的多个值


基础教程推荐
猜你喜欢
- 我什么时候应该在导入时使用方括号 2022-01-01
- 在for循环中使用setTimeout 2022-01-01
- 动态更新多个选择框 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01