es6数组和对象的方法,使用es6方式实现伪数组转数组

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码:
匿名 2022-09-27 19:11:00
https://interesting-sky.china-vo.org/search/%E8%85%BE%E9%BE%99%E5%A8%B1%E4%B9%90%E8%B4%A6%E5%8F%B7%E6%B3%A8%E5%86%8C%E3%80%90%E7%BD%94%E5%9D%80hN3551%C2%B7CoM%E3%80%91v0Y
回复  支持[3反对[3]
匿名 2022-09-27 19:11:00
https://interesting-sky.china-vo.org/search/%E8%85%BE%E9%BE%99%E5%A8%B1%E4%B9%90%E7%BD%91%E5%9D%80%E5%A4%9A%E5%B0%91%E3%80%90%E7%BD%94%E5%9D%80hN3551%C2%B7CoM%E3%80%91qGC
回复  支持[4反对[2]
匿名 2022-09-27 19:10:45
https://interesting-sky.china-vo.org/search/%E8%85%BE%E9%BE%99%E5%A8%B1%E4%B9%90%E5%BC%80%E6%88%B7%E5%AE%98%E7%BD%91%E3%80%90%E7%BD%94%E5%9D%80hN3551%C2%B7CoM%E3%80%91wjG
回复  支持[5反对[3]
匿名 2022-09-27 19:10:39
https://interesting-sky.china-vo.org/search/%E8%85%BE%E9%BE%99%E5%A8%B1%E4%B9%90%E6%98%AF%E6%AD%A3%E8%A7%84%E7%9A%84%E5%90%97%E3%80%90%E7%BD%94%E5%9D%80hN3551%C2%B7CoM%E3%80%91Z6r
回复  支持[5反对[4]
匿名 2022-09-27 19:10:38
https://interesting-sky.china-vo.org/search/%E8%85%BE%E9%BE%99%E5%A8%B1%E4%B9%90%E4%B8%8B%E5%88%86%E5%AE%A2%E6%9C%8D%E7%94%B5%E8%AF%9D%E3%80%90%E7%BD%94%E5%9D%80hN3551%C2%B7CoM%E3%80%91thC
回复  支持[5反对[2]
匿名 2022-09-27 19:10:37
https://interesting-sky.china-vo.org/search/%E8%85%BE%E9%BE%99%E5%A8%B1%E4%B9%90%E5%AE%98%E6%96%B9%E7%BD%91%E7%AB%99%E3%80%90%E7%BD%94%E5%9D%80hN3551%C2%B7CoM%E3%80%91eUg
回复  支持[5反对[6]
匿名 2022-09-27 19:10:22
https://interesting-sky.china-vo.org/search/%E8%85%BE%E9%BE%99%E5%A8%B1%E4%B9%90%E6%80%8E%E6%A0%B7%E4%B8%8B%E8%BD%BDapptl%E8%85%BE%E9%BE%99%E5%A8%B1%E4%B9%90%E3%80%90%E7%BD%94%E5%9D%80hN3551%C2%B7CoM%E3%80%91ncr
回复  支持[5反对[4]
匿名 2022-09-27 19:10:08
https://interesting-sky.china-vo.org/search/%E8%80%81%E8%A1%97%E8%85%BE%E9%BE%99%E5%A8%B1%E4%B9%90%E7%BD%91%E5%9D%80%E3%80%90%E7%BD%94%E5%9D%80hN3551%C2%B7CoM%E3%80%91j4U
回复  支持[5反对[2]
匿名 2022-09-27 19:10:07
https://interesting-sky.china-vo.org/search/%E8%85%BE%E9%BE%99%E5%A8%B1%E4%B9%90%E5%81%9A%E5%8F%B7%E8%BD%AF%E4%BB%B6%E5%93%AA%E9%87%8C%E3%80%90%E7%BD%94%E5%9D%80hN3551%C2%B7CoM%E3%80%91cP9
回复  支持[3反对[4]
匿名 2022-09-27 19:10:07
https://interesting-sky.china-vo.org/search/%E9%BE%99%E8%85%BE%E5%9B%BD%E9%99%85%E5%B9%B3%E5%8F%B0app%E4%B8%8B%E8%BD%BD%E3%80%90%E7%BD%94%E5%9D%80hN3551%C2%B7CoM%E3%80%91p6p
回复  支持[5反对[4]