zoukankan      html  css  js  c++  java
  • Array.of && Array.from

      如果给Array构造函数传入一个数值型的值,那么数组返回的length属性会被设置为该值; 如果传入一个非数值类型的值,那么这个值会成为目标数据的唯一项;如果传入多个值,此时无论这些值是不是数值型的,都会变为数组的元素。而且,需要特别注意的是,如果直接传入一个数值型的值,虽然长度length等于这个值,但是每一项是没有值的,而且也不能用map等方法去遍历,需要用Array.from()先转换。

      

      这样是存在一些风险的,因为我们在设置的时候有时候并不能总是去注意传入的值的类型,因此,ECMAScript6 提供了 Array.of() 方法来解决这个问题。 Array.of() 与 Array 构造函数的工作机制类似,只是不存在单一数值型参数值的特例,无论有多少参数,无论参数是什么类型的, Array.of() 方法总会创建一个包含所有参数的数组。

      JavaScript不支持直接将非数组对象转换为真实数组,arguments就是一种类数组对象,如果要把它当做数组使用则必须先转换该对象的类型。Array.from()方法可以先接受可迭代对象作为第一个参数,最终返回一个数组。如果想要进一步转换数组,可以提供一个映射函数作为Array.from()的第二个参数,这个参数用来将类数组对象中的每一个值转换成其他形式,最后将这些结果储存在结果数组的相应索引中;例如: Array.from( arr,  (value) => {  return value + 1; })

  • 相关阅读:
    POJ1204:Word Puzzles——题解
    HDU2222:Keywords Search——题解
    CF17E:Palisection——题解
    BZOJ2565:最长双回文串——题解
    POJ3974:Palindrome——题解
    接口测试的另一种方式 – 接口测试平台
    接口测试的另一种方式 – 接口测试平台
    接口测试的另一种方式 – 接口测试平台
    美团招聘-测试开发工程师
    美团招聘-测试开发工程师
  • 原文地址:https://www.cnblogs.com/mufc/p/10230412.html
Copyright © 2011-2022 走看看