为了账号安全,请及时绑定邮箱和手机立即绑定

关于JS数组的问题

关于JS数组的问题

蓝山帝景 2019-02-26 20:25:33
a: AA[]; b: AA; ngOnInit() {    this.a = []; } x() {    this.a = [...this.a, this.b];  <--- 这是什么意思? }
查看完整描述

2 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

由这段函数我们可以看到如果为数组会创建新数组克隆,否则会调用 Array.from 方法从类似数组或可迭代对象中创建新的数组实例
function _toConsumableArray(arr) { if (Array.isArray(arr)) { 
    for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
      arr2[i] = arr[i]; } return arr2; 
    } else { 
      return Array.from(arr); 
    }
  }

我们再来试一遍

 [...'test',10];   // ['t','e','s','t',10] 结果和预期一样

 //再回顾这段代码就清晰许多了
 this.a = [...this.a, this.b];
 判断 this.a 类型 -> 为数组则克隆返回新数组 => 用 this.a 指向 [].concat() 方法拼接的 新数组 和 this.b


查看完整回答
反对 回复 2019-02-26
  • 2 回答
  • 0 关注
  • 879 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信