创建数组

  1. new 一个

     let colors = new Array () // []
     let colors = new Array (20) // 创建一个 length = 20 的数组
     let colors = new Array ('red','cyan','pink') // ['red','cyan','pink']
  2. 不使用new

     let colors = Array () // []
     let colors = Array (20) // 创建一个 length = 20 的数组
     let colors = Array ('red','cyan','pink') // ['red','cyan','pink']
  3. 字面量 // 数组的字面量方式创建数组时,和 Object 一样不会执行 Array 的构造函数

     let colors = [ ]
     let colors = ['red','cyan','pink']
  4. ES6 新增的 from()
    4.1Array.from()的第一个参数是一个类数组对象,或者一个有 length 属性和可索引元素的结构

    Array.from('Matt') // ['M','a','t','t']
    
    const m = new Map().set(1,2).set(3,4) // {1=>2,3=>4}
    Array.from(m) // [[1,2],[3,4]]
    
    const s = new Set().add(1).add(2).add(3).add(4) // {1,2,3,4}
    Array.from(s) // [1,2,3,4]


    4.2、可以对现有数组进行复制

    const a1 = [1,2,3,4]
    const a2 = Array.from(a1)// [1,2,3,4]
    console.log(a1 === a2) // false


    4.3、 arguments 对象可以被轻松转换为数组

    function fn(){
      return Array.form(arguments)
    }
    console.log(fn(1,2,3,4)) // [1,2,3,4]


    4.4、 Array.from() 也能转换带有必要属性的自定义对象

    const obj={
      0:1,
      1:2,
      2:3,
      3:4,
      length:4
    }
    console.log(Array.from(obj)) // [1,2,3,4]
    


    4.5、 Array.from() 还可以接收第二可选的映射函数参数

    const a1=[1,2,3,4]
    console.log(Array.from(a1,x=>x**2))//[1,4,9,16]

  5. Array.of() 可以把一组参数转换为数组,这个方法用于替换 ES6 之前常用的 Array.prototype.slice.call(arguments),一种异常笨拙的将arguments对象转成数组的写法

    console.log(Array.of(1,2,3,4)) // [1,2,3,4]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值