解数组去重和数组扁平化的方法有哪些(JS,web开发)

时间:2024-05-04 11:56:56 作者 : 石家庄SEO 分类 : web开发
  • TAG :

    %E8%A7%A3%E6%95%B0%E7%BB%84%E5%8E%BB%E9%87%8D%E5%92%8C%E6%95%B0%E7%BB%84%E6%89%81%E5%B9%B3%E5%8C%96%E7%9A%84%E6%96%B9%E6%B3%95%E6%9C%89%E5%93%AA%E4%BA%9B

数组去重在面试中是一道基础题,但仍然可以在其中挖掘许多js知识。

ES6 最常用Set 去重

Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。

双重for循环

外层循环元素,内层循环时比较值。

indexOf或includes去重

当数组内没有该元素时,indexOf返回-1,则把它push进新数组。

includes() 方法用于判断字符串是否包含指定的子字符串。如果找到匹配的字符串则返回 true,否则返回 false。

filter去重

原始数组中元素的索引等于当前索引值时返回,否则返回当前元素

数组扁平化是指将一个多维数组变为一维数组。

flat方法

flat()方法创建一个新数组,其中所有子数组元素都以递归方式连接到该数组中,直到达到指定的深度为止

ES6 拓展运算符

es6的扩展运算符能将二维数组变为一维,若arr中含有数组则使用一次扩展运算符,直至没有为止。

toString方法+split方法

调用数组的toString方法,将数组变为字符串然后再用split分割还原为数组。split分割后形成的数组的每一项值为字符串,所以需要用一个map方法遍历数组将其每一项转换为数值型。

使用join方法可以实现和toString方法类似的效果。

递归

递归的遍历每一项,当为数组时则继续,不为数组则concat。

reduce方法实现

reduce方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

本文:解数组去重和数组扁平化的方法有哪些的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:如何使用Feign调用第三方http接口下一篇:

2 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18