ES6学习记录

一、VScode编辑器

  • liveServer + Javascript(ES6) code snippets插件
  • 右键运行liveServer

二、数组方法

  • forEach
  • map
  • filter
  • every和some
  • reduce
forEach 遍历
var colors = ["red","blue","green"];
colors.forEach(function (params) {
    console.log(params);
})
var colors = ["red","blue","green"];
colors.forEach(names);
function names(params) {
    console.log(params);
}

map 遍历
var numbers = [1,2,3];
var num = numbers.map(names);
function names(params) {
    return params*2;
};
console.log(num);
var cars = [
{model:"Buick",price:"cheap"},
{model:"BMW",price:"expensive"}
];

var prices = cars.map(function(params) {
    return params.price;
});
console.log(prices);
filter 过滤
var products = [
    {name:"cucumber",type:"vegetable"},
    {name:"banana",type:"fruit"},
    {name:"celery",type:"vegetable"},
    {name:"orange",type:"fruit"}
];

var pro = products.filter(function (params) {
    return params.type ==="fruit";
});
console.log(pro);
var products = [
    {name:"cucumber",type:"vegetable",quantity:0,price:1},
    {name:"banana",type:"fruit",quantity:10,price:16},
    {name:"celery",type:"vegetable",quantity:30,price:10},
    {name:"orange",type:"fruit",quantity:5,price:6}
];

var pro = products.filter(function (params) {
    return params.type ==="fruit"&&params.quantity>=5&&params.price<=16;
});
console.log(pro);
var products = [
    {name:"cucumber",type:"vegetable",quantity:0,price:1},
    {name:"banana",type:"fruit",quantity:5,price:16},
    {name:"celery",type:"vegetable",quantity:30,price:10},
    {name:"orange",type:"fruit",quantity:5,price:6}
];

var post = {id:5,title:"fruit"};
var pro = products.filter(function (params) {
    return params.quantity === post.id&& params.type ===post.title;
});
console.log(pro);
every 和 some
var computers = [
    {name:'Apple',ram:16},
    {name:'IBM',ram:4},
    {name:'Acer',ram:32}
];
var every = computers.every(function (params) {
    return params.ram>16;
});
console.log(every);  //false

var some = computers.some(function(params) {
    return params.ram>16;    
});
console.log(some);  //true

reduce
var numbers = [10,20,30];
var sumValue = numbers.reduce(function (num1,num2) {
    return num1 + num2;
},100);
console.log(sumValue); //160
var primaryColor = [
    {color:"red"},
    {color:"yellow"},
    {color:"blue"}
];
var colors = primaryColor.reduce(function (previous,primaryColor) {
    previous.push(primaryColor.color);
    return previous;
},[]);
console.log(colors);
function name(params) {
    return params.split("").reduce(function (previous,char) {
        if(char == "("){
            return ++previous;
        };
        if(char == ")"){
            return --previous;
        }
    },0)
};
console.log(name("()()()()))))(())()())()"));   //-5

总结

forEach遍历:返回数组的每一个元素,将元素传给回调函数
map遍历:返回定义后的新的数组
filter过滤:返回条件符合的新对象
every和some:都返回一个Boolean值,every在每一项都符合条件后返回true,否则false,some在只要找到符合条件的一项,便不再查找,返回符合条件的第一项
reduce:累加或者累积,返回累计值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值