ES6笔记2

数组的高阶方法

1.filter 过滤 返回一个新的数组,如果回调函数返回true当前元素保留,否则被过滤掉

var arr1 = [8,-50,30,25,19,60,5,7];
// 目标:过滤 大于20的数
var arr2 = arr1.filter(function(item){
	if(item>20){return true}
	else{return false}
})
console.log("arr1",arr1)// [8,-50,30,25,19,60,5,7];
console.log("arr2",arr2)//[30,25,60]

2.forEach遍历 遍历数组

var arr=[1,2,3,4,5];
	arr.forEach(function(item,index,self){
		console.log(item,index,self);
	})

3.map 映射 返回一和原数据一一对应关系的新数组

var arr = [1, 3, 5] //变成2 6 10
			var arr2 = arr.map(
				function(item, index, self) {
					console.log(item, index, self)
					return item * 2
				}
			)
			console.log(arr2)

4.reduce 累计 a,b两个参数,a是上一次返回的结果

 var arr = [2,3,4];
var ret = arr.reduce(function(a,b){return a+b})

alert(ret);//9

5.some 有一个 返回true或者false 只要回调函数有一个为true 则整个都返回true

// 目标判断 是否数组中国有大于20的数
		var arr = [2,4,6,7,100,20,50];
		var ret = arr.some(function(item){return item>20})
		alert(ret);//true

6.every 每个 返回true或者false 回调函数都返回为true 则整个都返回true

var arr = [2,4,6,7,100,20,50];
		var ret = arr.every(function(item){return item<120})
		alert(ret);//true

函数

箭头函数

1.参数 => 函数体

var times = n=>alert(n*2)
// 声明一个变量times 为一个函数
// 函数参数位n 函数执行语句为aler(n*2)
// => 前函数的参数
// => 后是函数的执行语句也是 返回值

2.如果参数不是一个,要()包裹

var arr = [1,2,3,4];
		// 目标求和
		var ret  = arr.reduce((a,b)=>{
			console.log(a,b)
			return a+b;
			});
		alert(ret);//10

3.函数体如果只有一句,执行的结果就是返回值

4.语句多条 1.用{}包裹 2.return返回

5.如果返回的是个对象 return({});
6.箭头函数中的this

// 默认setInterval this指向window
//  箭头函数this的指向为上一层作用域中的this obj;
	var obj = {
		age:18,
		say:function(){
			console.log("今年我"+this.age)
		},
		grow:function(){
			window.setInterval(()=>{
				this.age ++;
				this.say();
			},3000)
		}
	}

默认参数
function add(a=5,b=10){}
当参数值为underfind时 使用默认值

不定参数
function add(…args){}
args是一个有参数组成的数组
add(1,2) args=[1,2]
add(2,3,4) args=[2,3,4]

function add (...args){
	var ret  = args.reduce((a,b)=>a+b);
	alert(ret);
}
add(2,8,1,7,3)//21

拓展参数
var arr = [1,2,3,4]
function add(a,b,c){}
add(…arr)
请用函数把arr数组展开

数组
fill(内容,start,end)

var  arr = [1,3,5,7];
  arr.fill("love",2,4);
  console.log(arr);//1,2,love,love

copyWithin(替换位置,拷贝开始,拷贝结束)

 var arr = [0,1,2,3,4,5,6,7];
arr.copyWithin(0,4,8);
 console.log(arr);//45674567

查找
1.arr.includes(obj) 返回一个布尔值 arr是否包含obj
2.find元素 查找元素 find(item=>条件)
3.findindex 查找符合条件的下标

  var arr = [2,7,10,100,50,255];
 // 查找arr中是否有大于100的数
 var ret = arr.findIndex(item=>item>100);
 alert(ret);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值