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; })

  • 相关阅读:
    牛客 小乐乐和25
    codeforces 1303 D 二进制瞎搞
    codeforces 1307 D 最短路bz+贪心
    codeforces 1316 C math
    codeforces 1328E LCA
    codeforces 1335 E2 思维
    codeforces 1335 E1 思维
    codeforces 1342 D 贪心+后缀和
    codeforces 1348D (思维+贪心)
    codeforces 1362 E 进制的性质
  • 原文地址:https://www.cnblogs.com/mufc/p/10230412.html
Copyright © 2011-2022 走看看