我想要一个遍历posts数组的方法,并返回一个只包含与userId
属性的某个值匹配的元素的新数组。
例如:
let postsArr = [
{
"userId": 1,
"id": 1
},
{
"userId": 1,
"id": 2
},
{
"userId": 2,
"id": 3
},
{
"userId": 2,
"id": 4
},
{
"userId": 3,
"id": 5
}
]
说我想只返回userId: 2
的项目。
(有点像...)
let filteredArr = postsArr.method( post => post.userId === 2)
哪个(理想情况下)会返回:
[
{
"userId": 2,
"id": 3
},
{
"userId": 2,
"id": 4
}
]
我确定它会像.map()或.filter(),但我可以完全理解如何做到这一点,或者在这种情况下最好的方法是什么。
任何帮助表示感谢。
答案 0 :(得分:2)
说实话,你真的很好..
let postsArr = [
{
"userId": 1,
"id": 1
},
{
"userId": 1,
"id": 2
},
{
"userId": 2,
"id": 3
},
{
"userId": 2,
"id": 4
},
{
"userId": 3,
"id": 5
}
];
var farray = postsArr.filter((a) => a.userId === 2);
console.log(farray);
答案 1 :(得分:1)
在ES5中。我们曾经这样做过。
var newarray = postsArr.filter(function(obj){
return obj.userId === 2
})