1. ES5高阶方法
- foreEach 遍历
// var arr = ['我','爱','祖','国'];
// arr.forEach(function(item,index,self){
// console.log(item,index,self)
// })
- map 映射
// var arr = [1,3,5];//变成[2,6,10]
// var arr2 = arr.map(function(item,index,self){
// return item*2;
// })
// console.log(arr2)
- filter 过滤
// var arr = [1,3,5,11,25,34];
// var arr2 = arr.filter(function(item){
// return item>10
// })
// console.log(arr2)
- reduce: 累计a,b两个参数,上一次的计算结果是这一次的a
// var arr = [2, 3, 5];
// var ret = arr.reduce(function(a,b) {return a+b});
// alert(ret);
- every 每个
// var arr = [2, 3, 5];
// var arr2 = arr.every(function(item){return item>3})
// alert(arr2);
- some 有一个
// var arr = [2, 3, 5];
// var arr2 = arr.some(function(item){return item>3})
// alert(arr2);
- sort 排序
// var arr = [1,5,11,27,45];
// arr.sort(function(a,b){return a-b});
// console.log(arr);
// var arr1 = [{age:10},{age:7},{age:14}];
// arr1.sort(function(a,b){return a.age>b.age});
// console.log(arr1);
2.ES6之箭头函数
//箭头函数
//声明一个变量sum 为一个函数
//函数参数位n 函数执行语句为alert(n*2)
// var sum = n =>alert(n*2);
// sum(6);
// var arr = ['我','爱','祖','国'];
// arr.forEach(item=>console.log(item));
// var arr = [1,2,3,4];
// var ret =arr.reduce((a,b)=> a+b);
//函数体如果只有一句,执行的结果就是返回值
// alert(ret);
//如果有多句,用{}包裹,return返回
// var arr = [1,2,3,4];
// var ret =arr.reduce((a,b)=> {
// console.log(a,b);
// return a+b;
// });
// alert(ret);
//如果返回值是对象 参数=>({对象})
// var arr = [1,2,3,4];//把arr映射为[{num:1},{num:2}];
// var arr2 = arr.map(item =>({num:item}));
// console.log(arr2);
//箭头函数的this指向为上一层作用域
//setInterval中的this指向为window
// var obj = {
// age:18,
// say:function(){
// console.log('今年我'+this.age)
// },
// grow:function(){
// setInterval(()=>{
// this.age++;
// this.say();
// },3000)
// }
// }
3.函数的3种参数
- 函数的默认参数
// function add(a,b=10){
// alert(a+b);
// }
// add(3,5);
// add(3)
- 函数的不定参数
// function add(...args){
// var ret = args.reduce((a,b)=>a+b)
// alert(ret)
// }
// add(1,2,3,4,5);
- 函数的扩展实参
// function metting(a,b,c){
// console.log('今天开会的有:',a,b,c);
// }
// var arr = ['小明','小红','小蓝'];
// metting(...arr);
4.数组的新增方法
- fill()填充
// var arr = [1,2,3,4];
// arr.fill('love')
// console.log(arr)
- 查找 includes findIndex
includex()查找是否包含,返回布尔值。
findIndex()返回找到的第一个元素的下标
var arr = ['我','爱','中','国'];
console.log(arr.includes('爱'))
//findIndex
var arr2 = [1,3,5,11,23,35];
var ret = arr2.findIndex(item=>item>10);
console.log(ret)
5.对象的简写
var name = 'lh';
var age = 18;
// var user = {
// name:name,
// age:age
// }//普通写法
var user = {
name,
age,
say(){
alert(`大家好,我的名字是${this.name},今年${this.age}`)
}
};
console.log(user)
每日更新