ES6中新增的数组方法

var arr=Array.of(10,20,30)//Array.of(10)
			var arr2=new Array(10)
			console.log(arr,arr2)

新功能1:

of()

功能:设置数组长度

如果参数只有一个就是数组的长度,如果是多个,那数组的长度就是元素的个数

新功能2:

from()

功能:转换为数组

参数是要转换为数组的数据在前面arr-map-set中常见

let arr = Array.from({
			  0: '1',
			  1: '2',
			  2: 3,
			  length: 3
			});
			console.log(arr); // ['1', '2', 3]	

注意如果是用对象来数组

对象的key要转换为数组的下标

var  arr=[10,203,400,2,3,5,6]
			var  re=arr.find(function(el){
				console.log(111)
				if(el>100){return true}
			})

新功能3:

find()

功能:查找

通过遍历查询条件 知道找到就停止 返回找到的值

var arr=[1,23,5,56,{name:"bob"}]
			var re=arr.includes({name:"bob"})
			console.log(re)

新功能4:

includes()

功能:是否含有

返回一个布尔值,虽然两个对象内容一样但不是同一个引用,所以返回false

var arr=[10,30,50]
			var re=arr.findIndex(function(el){
				if(el>20){return true}
			})
			console.log(re)

新功能5:

findIndex()

功能找到元素并且返回下标 和find类似不过返回值是数组中元素的下标

var  arr=[10,203,4,100,3004,5]
			var arr2=arr.fill("hello",2,4)//2 3
			console.log(arr,arr2,arr==arr2)

新功能6:

fill()

功能:替换

第一个参数是替换的元素,第二个是替换的起始位置,第三个是替换的终止位置但是是左闭右开区间 实际是终止位置-1


			var arr=[[10,20,30],40,50,[[60,70],80,[90,[110],100]]]
			var arr2=arr.flat(3)
			console.log(arr2)

新功能7:

flat()

功能:数组降维

参数是表示的是降维的次数

如何自己创建方法实现flat功能

var arr=[[10,20,30],40,50,[[60,70],80,[90,[110],100]]]
			Array.prototype.myflat=function(count=Infinity){
				var arr=[]
				for(var i=0;i<this.length;i++){
					// arr.push(this[i])
					if(this[i].constructor==Array&&count>0){
						// for(var j=0;j<this[i].length;j++){
						// 	arr.push(this[i][j])
						// }
						var newarr=this[i].myflat(count-1)
						for(var j=0;j<newarr.length;j++){
							arr.push(newarr[j])
						}												
					}else{
						arr.push(this[i])
					}				
				}
				return arr
			}
			var re2=arr.myflat(1)
			console.log(re2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值