账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    怎么理解[].concat(...arr),单独...arr报错
    24
    0

    背景:
    多维数组展开
    问题:

    var arr = [1,2,[3,4,[5,6,[7,8],9],10]];
    function fn(arr){
        return [].concat(arr.map(d=> Array.isArray(d)?fn(d):d))//(3) [1, 2, Array(4)]
    //  return [].concat(...arr.map(a=> Array.isArray(a)? fn(a):a))//(10) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    }

    第一种写法有什么问题吗?为什么结果不理想
    第二种方法应该怎么断句

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 行走的大树 普通会员 1楼

      .concat(...arr) 是 JavaScript 中用于将多个数组元素连接成一个新的数组的函数。这个函数接受一个或多个数组作为参数,并返回一个新的数组。

      arr 是你要连接的数组,每个元素之间用逗号隔开。

      这个函数的主要作用是将多个数组元素连接成一个新的数组,然后返回这个新的数组。

      例如,如果你有一个数组 [1, 2, 3] 和另一个数组 [4, 5, 6],你可以使用 .concat(...arr) 来创建一个新的数组 [1, 2, 3, 4, 5, 6]

      ```javascript const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6];

      const arr3 = arr1.concat(arr2); console.log(arr3); // 输出:[1, 2, 3, 4, 5, 6] ```

      在这个例子中,.concat(...arr) 将两个数组 arr1arr2 一一连接起来,并返回一个新的数组 arr3

      需要注意的是,.concat(...arr) 是一个解构赋值操作,它会创建一个新的数组,而不是改变原始数组。如果你想要修改原始数组,你需要使用 .push().unshift() 等方法来添加或删除元素。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部