当前位置: 首页 > news >正文

琼海做网站公司某品牌休闲零食网站建设规划书

琼海做网站公司,某品牌休闲零食网站建设规划书,全屋定制设计软件有哪些,百度收录好的免费网站数组的成员有时还是数组,Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数据没有影响。 [1, 2, [3, 4]].flat() // [1, 2, 3, 4]那flat怎么来实现呢? 1、使用while循环 实现的代码…

数组的成员有时还是数组,Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数据没有影响。

[1, 2, [3, 4]].flat()
// [1, 2, 3, 4]

那flat怎么来实现呢?

1、使用while循环

实现的代码如下:

        // 实现数组中的flat拉平函数let arr = [20, [6, 7, 8], [2, [9, 10]], 17]const flatten = function (arr) {while (arr.some(v => Array.isArray(v))) {arr = [].concat(...arr)}return arr;}console.log(flatten(arr)) // [20, 6, 7, 8, 2, 9, 10, 17]

2、使用数组中的map方法

        // 实现数组中的flat拉平函数let arr = [20, [6, 7, 8], [2, [9, 10]], 17]const flatten = function (arr) {return [].concat(...arr.map(v => Array.isArray(v) ? flatten(v) : v))}console.log(flatten(arr)) // [20, 6, 7, 8, 2, 9, 10, 17]

关于第二种方法的理解 最后的是

[].concat(...[20, [6, 7, 8], [2, 9, 10], 17]) // [20, 6, 7, 8, 2, 9, 10, 17]

扩展运算符会展开数组,相当于拉平一级。
concat方法合并数组,是往新数组中添加的数组成员,例如,[].concat(…[20, [6, 7, 8]])相当于[].concat(20, [6, 7, 8]),往[]这个空数组中添加的是数字20和[6, 7, 8]这个数组的成员6、7、8,所以[].concat(…[20, [6, 7, 8]])就相当于拉平了数组。

在用第二种方法时,我刚开始是有些不理解的,不过我推理了一下,确实是对的,其中的关键点在于递归调用、concat方法和扩展运算符的应用

最后,我们看一下concat的用法,
concat()方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
注意:合并的时候,添加的是数组成员,一定要谨记,如果不是数组,也当做成员,一起添加到新数组中。

let arr1 = [1,2,3];
let arr2 = [4,5,6];
let arr3 = [7,8,9];
let num = 10;console.log(arr1.concat(arr2,arr3,num)); // [1,2,3,4,5,6,7,8,9,10]

我们再看一下这个例子:

let arr1 = [1,[2,3]];
let num = 10;console.log([].concat(arr1,num)); // [1,[2,3],10]console.log([].concat(...arr1,num)); // [1,2,3,10] 

可以看到因为使用了扩展运算符,所以最后打印的结果是不一样的。

http://www.cairui.net.cn/news/266/

相关文章:

  • 上海建立网站公司aoc24g2色域
  • 深互动平台网站饮食中心网站建设方案
  • 网站模板 php淘宝导购网站建设
  • dede仿网站目录建筑新型模板
  • 住房和城乡建设厅网站首页提供营销型网站价格
  • 网站备案在哪个网站站群管理系统
  • 网站建设规划文档想建立一个网站怎么做
  • 化隆网站建设公司建筑人才网官网档案查询
  • 杭州做网站找力果烟台网站建设方案推广
  • 天津网站制作网页免费的行情软件网站下载免费
  • 揭阳公司做网站吉林省住房和城乡建设部网站
  • 管理咨询网站专做投放广告网站
  • 远憬建站营销方式有哪几种
  • 网站中英文转换怎么做网络服务协议合同
  • 企业建站程序哪个好wordpress 上传文件
  • 汕头市住房和城乡建设局网站嘉兴企业自助建站
  • 设计实例网站哪个软件可以看街道实景
  • 建设网站的功能包括哪些装饰公司品牌排行榜前十名
  • 做网站赚钱全攻略wordpress付费小说
  • 手机网站 微信链接怎么做广州公司关键词网络推广
  • 彩票娱乐网站建设做营销的网站推广
  • 找it工作有什么好的招聘网站科技公司手机网站
  • 制作简单的站点推广方案如何安装wordpress图解
  • h5网站还有哪些内设网站
  • 怎么做网站 知乎如何对网站做实证分析
  • 南阳河南网站建设怎么做好营销网站开发
  • 中国十大门户网站排行大网站建设
  • 西安网站建设公英语网站的建设需要
  • 上海网站开发建设服务郑州市金水区
  • 富阳科技网站有哪些提升网站流量的方法