es6数组和对象的方法,使用es6方式实现伪数组转数组
本教程运行环境:windows7系统,ECMAScript版本6,Dell G3电脑。
在es6中,可以利用Array对象的from()方法来将对象转成数组。
Array.from()方法用于将类数组对象或可遍历对象转换为实数组。
那么什么是类数组对象呢?类数组对象最基本的要求是具有长度属性的对象。
1.将类数组对象转换成真实数组:
让arrayLike={
0:“汤姆”,
1: 65,
2:男性,
3: [简,约翰,玛丽],
长度:4
}
设arr=Array.from(arrayLike)
Console.log(arr) //[tom , 65 , male ,[jane , john , Mary]]那么,如果去掉上面代码中的length属性呢?实践证明,答案将是一个长度为0的空数组。
再把这里的代码改一下,就是它有length属性,但是对象的属性名不再是数值,而是其他字符串类型。代码如下:
让arrayLike={
姓名:汤姆,
年龄: 65 ,
性别:男性,
朋友:[简,约翰,玛丽],
长度:4
}
设arr=Array.from(arrayLike)
Console.log (arr)//[undefined,undefined,undefined]会发现结果是一个长度为4的数组,所有元素都是未定义的。
因此,要将类数组对象转换为实数组,必须满足以下条件:
类数组对象必须具有length属性,该属性用于指定数组的长度。如果没有长度属性,那么转换后的数组是一个空数组。
此类数组对象的属性名必须是数字或字符串。
Ps:这类数组对象的属性名可以带引号,也可以不带引号。
2.将集合结构的数据转换成一个实数组:
let arr=[12,45,97,9797,564,134,45642]
let set=新集合(arr)
console . log(array . from(set))//[12,45,97,9797,564,134,45642] Array.from也可以接受第二个参数,其作用类似于数组的map方法,用于处理每个元素,并将处理后的值放入返回的数组中。如下所示:
let arr=[12,45,97,9797,564,134,45642]
let set=新集合(arr)
Console.log (array.from (set,item=item1))//[13,46,98,9798,565,135,45643] 3。将字符串转换为数组:
让“你好,世界!”;
console . log(array . from(str))//[ h , e , l , o , , w , o , r , l , d ,!]4.Array.from参数是一个实数组:
Console.log (Array.from ([12,45,47,56,213,4654,154]))在这种情况下,Array.from将返回一个相同的新数组。
【相关推荐:javascript视频教程,web前端】以上是es6如何将对象转换成数组的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。