如何在javascript中减少和过滤数组
How to reduce and filter arrays in javascript?
所以我想按如下方式过滤我的数组:
比方说我的array1 = ['c', 'd']
我的数据数组 =
[{
"userid": "a",
"age": 19,
"name": "john"
}, {
"userid": "c",
"age": 119,
"name": "joy"
}, {
"userid": "d",
"age": 119,
"name": "jesse"
}]
我想过滤掉我的数据数组,以便只有数据数组中的那些对象,其用户 id 值存在于 array1 中。
预期成果:
new data array = [{
"userid": "c",
"age": 119,
"name": "joy"
}, {
"userid": "d",
"age": 119,
"name": "jesse"
}]
为了让你更好地理解,添加没有lambda表达式的Tushar解决方案,
newDataArray = dataArray.filter(function(item) {return array1.includes(item.userid)})
在 ES5 中:
var newDataArray = dataArray.filter(function (item) {
return array1.indexOf(item.userid) !== -1;
});
var a1 = [
{
"userid": "a",
"age": 19,
"name": "john"
},
{
"userid": "c",
"age": 119,
"name": "joy"
},
{
"userid": "d",
"age": 119,
"name": "jesse"
}
];
var a2 = ['c','d'];
var newObj = [];
a1.filter(function(object,index){
var x = object.userid;
a2.filter(function(userId){
if(x==userId){
newObj[index-1] = object;
}
});
});
console.log(JSON.stringify(newObj));
相关文章:
- 仅当选择特定的选择选项时,才使用JavaScript过滤数组
- 在JavaScript中,按日期和之后的名称过滤数组
- 在我的例子中,如何过滤数组值
- 在AngularJS中按数字过滤数组
- JavaScript 过滤器方法返回过滤数组和空数组
- 精确过滤数组
- 使用 JavaScript 或 jQuery 过滤数组
- 在 javascript 跨浏览器中过滤数组
- 当对象键值在数组中时如何过滤数组
- 角度按条件过滤数组中的多个项目
- 是否可以使用下划线按多个值过滤数组值
- 如何在 javascript 中的对象数组中过滤数组
- 在 javascript 中过滤数组以查找 3 个连续的数字
- 如何在javascript中减少和过滤数组
- 显示过滤数组的长度
- AngularJS:如何获取 ng-options 的过滤数组
- 有没有办法在 angularjs 过滤器中显示过滤数组的属性
- AngularJS - 通过 3 个选择输入过滤数组
- jQuery/JavaScript:用另一个数组过滤数组
- 如何过滤数组并将其与 Javascript 中的函数参数进行比较