一、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"&¶ms.quantity>=5&¶ms.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:累加或者累积,返回累计值