解数组去重和数组扁平化的方法有哪些
导读:本文共2091字符,通常情况下阅读需要7分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 数组去重数组去重在面试中是一道基础题,但仍然可以在其中挖掘许多js知识。ES6 最常用Set 去重Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。functionunique(arr){returnArray.from(newSet(arr))}letarr=[1,1,'true'... ...
目录
(为您整理了一些要点),点击可以直达。数组去重在面试中是一道基础题,但仍然可以在其中挖掘许多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方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
解数组去重和数组扁平化的方法有哪些的详细内容,希望对您有所帮助,信息来源于网络。