ES6数组扩展

数组构造函数的静态方法。

静态方法:把函数当对象处理 key对应的value是函数   我们就说这个方法是静态方法 否则就是静态属性

Array.f=1;
console.log(Array.f);//静态属性
Array.fn=function(){console.log(123);}
Array.fn();//静态方法

Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。

            function sum(){
				//console.log(arguments);//参数 类数组结构
				let res=0;
				/*
				for(let i=0;i<arguments.length;i++){
					res+=arguments[i];
				}
				*/
				//console.log(Array.from(arguments));//变成一个数组
				Array.from(arguments).forEach(function(item){
					res+=item;
				});
				console.log(res);
			}
			sum(1,2,3,4,5,6,7,8,9);

将类数组对象转化为数组:

        let arrLikeList={
				0:123,
				1:234,
				length:2
			};
			console.log(Array.from(arrLikeList));

Array.of方法用于将一组值,转换为数组。

Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]
Array.of(3).length // 1

扩展原算符:

            let arr1=[1,2,3];
			let arr2=arr1;//arr1与arr2互相影响
			arr1[0]=100;
			console.log(arr2);
			
			function copy(arr){
				let res=[];
				for(var i=0;i<arr.length;i++){
					res[i]=arr[i];
				}
				return res;
			}
			let arr3=[1,2,3];
			let arr4=copy(arr3);
			arr3[0]=100;
			console.log(arr3);//不会互相影响
			console.log(arr4);
			
			let arr5=[1,2,3];
			let arr6=[...arr5];//Array.from(arr5)
			arr5[0]=100;
			console.log(arr5,arr6);
			
			let arr7=[3];
			let arr8=[1,2,...arr7,4,5,6];
			console.log(arr8);

数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined

        //找到回调函数返回的调价满足返回    返回第一次满足条件的值
			console.log([1,2,3,4].find(function(item,index,arr){
				//console.log(item);
				return index>1;//返回第一个index大于1的值
			}));//3

数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1

        //返回第一次满足条件的索引
			console.log([1,7,8,0].findIndex(function(item,index,array){
				return item>6;//返回第一个值大于6 的下标
			}));//1
//console.log([1,2,3,4].includes(value,index));//从index开始查询value返回true或false
			console.log([1,2,3,4].includes(2,3));// false   从下标为3 查找2是否存在

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值