首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用一次就爱上的 Array.from —— 构建 m*n 数组的绝对优雅姿势

    很多人第一次写这种二维数组初始化的优化写法,都会自然而然地写出这样的代码: const matrix = new Array(m).fill(new Array(n).fill(0));....fill()只能值处理,而不能执行语句,也就是说.fill(data())是先执行data(),再将data()的返回值输入给.fill()方法,所以上面的写法会将 new Array(n).fill...这行代码的含义是: 创建一个长度为 m 的数组 对每一项调用函数 () => Array(n).fill(0),生成一个新的数组 从而生成一个结构上完全独立的二维数组...拓展: 其实还有一种简单的写法: let arr = new Array(m).fill(null).map(() => new Array(n).fill(0)) 其中...fill(null)不可省略,因为new Array得到的数组初始值是empty,map不会操作empty的元素,所以必须要先fill一个值,null,0,999都可以,然后再用map改变这些元素值。

    6010

    数组常用方法含ES6新增

    会改变原数组 push 往数组最后面追加元素,返回最新数组的长度 pop 删除数组最后一项, 返回最新数组的长度 unshift 往数组头部添加元素,返回数组最新长度 shift 删除数组头部元素,返回删除的数组元素的值...es6新增 const arr = [1,2,3] const fillArr = arr.fill(7) => [7,7,7] ​ arr => [7,7,7] 不改变原数组 得到的是新数组 concat...let arr = [1,2,[3]] arr.flatMap(item=>item*2) => [2,4,6] from将类数组转为数组 与 new Set联用可以去重。...es6新增 const arr = [1,2,3,3,4,3,3,2] const b = Array.from(new Set(arr)) 得到新的返回值 find 查找满足条件的项,遇到第一个就返回之后的不会进行遍历...返回undefined 新知识点 Array(n).fill(true) 创建长度为n,所有值为true的数组 fill(value, start, end) ​ value:填充值。 ​

    67730
    领券