码迷,mamicode.com
首页 > 编程语言 > 详细

使用ES6新数组方法(象C# Lambda表达式一样写查询语句)

时间:2018-12-04 11:38:23      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:javascrip   sel   查询语句   lambda   map   es6   asc   ber   ===   

let people = [
    {id: 1, name: "a", age: 12}, 
    {id: 2, name: "b", age: 13}, 
    {id: 3, name: "c", age: 14}, 
    {id: 4, name: "d", age: 15}, 
    {id: 5, name: "e", age: 16}
];

const kids = [];
people.forEach(person => {
    if (person.age < 15) {
        kids.push({
            id: person.id,
            name: person.name
        })
    }
});
console.log(kids);

//map & filter都是数组的方法!
//返回项参与的表达式值
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(number => number * 2); //[2,4,6,8,10]
console.log(doubled);

//返回满足条件的项
const even = numbers.filter(number => number % 2 === 0); //[2,4]
console.log(even);

//把用forEach示例重写
const kids2 = people
    .filter(person => person.age < 15)
    .map(person => ({
        id: person.id,
        name: person.name
    }));
console.log(kids2);

/*
结论:从上面的示例可知,filter相当于C#的where过滤条件,map相当于C#的select投影
*/

  

使用ES6新数组方法(象C# Lambda表达式一样写查询语句)

标签:javascrip   sel   查询语句   lambda   map   es6   asc   ber   ===   

原文地址:https://www.cnblogs.com/wanghaibin/p/10062470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!