过滤 JSON 对象数组

凯利·罗珀

我正在尝试过滤一组 JSON 对象。我是 JavaScript 的新手,并试图用我曾经使用过的编码语言来完成它。基本上,我想采用以下对象数组。

     var result = [
                                {
                                    date : '2016-11-21',
                                    name: 'Bob',
                                    score: 0.1034947
                                },

                                {
                                    date : '2016-10-21',
                                    name: 'Bill',
                                    score: 0.2081911},

                                {
                                    date : '2016-10-21',
                                    name: 'Mary',
                                    score: 0.234947
                                },
                                {
                                    date : '2016-10-21',
                                    name: 'Bob',
                                    score: 0.1034947
                                },

                                {
                                    date : '2016-11-21',
                                    name: 'Bill',
                                    score: 0.2081911},

                                {
                                    date : '2016-11-21',
                                    name: 'Mary',
                                    score: 0.234947
                                },
                                {
                                    date : '2016-12-21',
                                    name: 'Bob',
                                    score: 0.1034947
                                },

                                {
                                    date : '2016-12-21',
                                    name: 'Bill',
                                    score: 0.2081911},

                                {
                                    date : '2016-12-21',
                                    name: 'Mary',
                                    score: 0.234947
                                }




  ]

然后我想根据对象进行过滤。所以例如。

var selected_Names = ['Bob','Mary']

我只想在这种情况下返回 Bob 和 Mary 的信息。

 [
                                {
                                    date : '2016-11-21',
                                    name: 'Bob',
                                    score: 0.1034947
                                },



                                {
                                    date : '2016-10-21',
                                    name: 'Mary',
                                    score: 0.234947
                                },
                                {
                                    date : '2016-10-21',
                                    name: 'Bob',
                                    score: 0.1034947
                                },



                                {
                                    date : '2016-11-21',
                                    name: 'Mary',
                                    score: 0.234947
                                },
                                {
                                    date : '2016-12-21',
                                    name: 'Bob',
                                    score: 0.1034947
                                },



                                {
                                    date : '2016-12-21',
                                    name: 'Mary',
                                    score: 0.234947
                                }




  ]

谢谢!

埃戈尔·斯坦巴基奥

const result = [{date:'2016-11-21',name:'Bob',score:0.1034947},{date:'2016-10-21',name:'Bill',score:0.2081911},{date:'2016-10-21',name:'Mary',score:0.234947},{date:'2016-10-21',name:'Bob',score:0.1034947},{date:'2016-11-21',name:'Bill',score:0.2081911},{date:'2016-11-21',name:'Mary',score:0.234947},{date:'2016-12-21',name:'Bob',score:0.1034947},{date:'2016-12-21',name:'Bill',score:0.2081911},{date:'2016-12-21',name:'Mary',score:0.234947}];
  
const filterNames = arr => names => arr.filter(e => names.includes(e.name));

const names = ['Bob', 'Mary'];

const res = filterNames(result)(names);

console.log(JSON.stringify(res, null, 2));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章