JS数组怎么根据另一个数组筛选数据,并提取出来?

夏天的绿色雷碧
  • 8

求解
第一个数组

let comments = [

{
    id:1,
    name: '李四',
    message: '今天还不错',
    dateTime: '2015-10-16'
},
{
    id:2,
    name: '李四2',
    message: '今天还不错',
    dateTime: '2015-10-16'
},
{ 
    id:3,
    name: '李四3',
    message: '今天还不错',
    dateTime: '2015-10-16'
},
{
    id:4,
    name: '李四4',
    message: '今天还不错',
    dateTime: '2015-10-16'
}

]

第二个数组
let number=[1,2];

comments 数组如何根据自身id对应number数组的值筛选并提取?

回复
阅读 3.7k
2 个回答
✓ 已被采纳

用数组的filter方法很容易。

let comments = [
    {
        id: 1,
        name: '李四',
        message: '今天还不错',
        dateTime: '2015-10-16'
    },
    {
        id: 2,
        name: '李四2',
        message: '今天还不错',
        dateTime: '2015-10-16'
    },
    { 
        id: 3,
        name: '李四3',
        message: '今天还不错',
        dateTime: '2015-10-16'
    },
    {
        id: 4,
        name: '李四4',
        message: '今天还不错',
        dateTime: '2015-10-16'
    }
]

let number=[1,2];

let filtered = comments.filter(comment => number.indexOf(comment.id) !== -1);
console.log(filtered);

建议自己先动手做一下。

let comments=[{
    id:1,
    name: '李四',
    message: '今天还不错',
    dateTime: '2015-10-16'
},
{
    id:2,
    name: '李四2',
    message: '今天还不错',
    dateTime: '2015-10-16'
},
{ 
    id:3,
    name: '李四3',
    message: '今天还不错',
    dateTime: '2015-10-16'
},
{
    id:4,
    name: '李四4',
    message: '今天还不错',
    dateTime: '2015-10-16'
}];
let number=[1,2]
let filterArr=comments.filter(item=>{
    return number.includes(item.id)
})
console.log(filterArr)

clipboard.png

你知道吗?

宣传栏