首页 > 编程语言 >javascript基础知识之多维数组扁平化去重排序

javascript基础知识之多维数组扁平化去重排序

时间:2022-11-09 16:00:35浏览次数:39  
标签:function index arr return 扁平化 javascript var 多维 console

var arr = [1,2,3,4,5,[1,2,6,8]]

=> [1,2,3,4,5,6,8]

var arr = [1,2,3,4,5,[1,2,6,8]]

// js方法实现
 
var flatArr = arr.toString().split(",") //扁平
function unlink(arr) { //去重
    return arr.filter(function (item, index, arr) {
        //当前元素,在原始数组中的第一个索引==当前索引值,否则返回当前元素
        return arr.indexOf(item, 0) === index;
    });
}
var filterArr = unlink(flatArr)
function systemSort(arr) { //排序
   return arr.sort(function(a, b) {
       return a - b
   })
}
var sortArr = systemSort(filterArr)
console.log('sortArr',sortArr)


// es6方法1
function getFlatSort(arr) {
  return Array.from(new Set(arr.flat(Infinity))).sort((a, b) => { return a - b })
}
//不排序
//newArr = Array.from( new Set(arr.flat(Infinity)) )
console.log(getFlatSort(arr))
//es6方法2
let array = arr.flat(Infinity)
let arrALL = array.filter(function(item,index){
    return array.indexOf(item)==index
  })
console.log(arrALL)

//lodash.js实现

let lodaArry = _.uniq(_.flattenDeep(arr))
console.log(_.uniq([2, 1, 2]))

 

标签:function,index,arr,return,扁平化,javascript,var,多维,console
From: https://www.cnblogs.com/zhixi/p/16874015.html

相关文章

  • 2022 年你需要掌握的 7 种关于 JavaScript 的数组方法(下)
    4.Array.forEach()现在这是一个经典。那个 forEach() 方法的工作原理很像常规 for 循环。它在数组上循环并对每个项目执行一个函数。 .forEach() 的第一个参数是......
  • javascript基础知识之闭包和递归
    一,什么是闭包,会出现什么问题?如何避免?1、函数里面包含的子函数,子函数访问父函数的局部变量2、通过return将子函数暴露在全局作用域,子函数就形成闭包3、通过闭包,父函数的局......
  • 使用Javascript查找图像上的坐标
    下面的代码在页面标题中。GetCoordinates函数使用window.event方法查找单击鼠标时的坐标。它还需要考虑任何滚动和图像在文档中的位置,以便坐标始终相对于图像的左上角。......
  • vue运行或打包报错Ineffective mark-compacts near heap limit Allocation failed-Jav
    vue运行或打包报错:Ineffectivemark-compactsnearheaplimitAllocationfailed-JavaScriptheapoutofmemory问题:用npmrundev启动项目或者npmrunbuild打包会报em......
  • 用JavaScript实现按钮的事件委托并且区分按钮
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content......
  • JavaScript函数总结
    定义函数形如functionabs(x){if(x>=0){returnx;}else{return-x;}}或varabs=function(x){if(x>=0){......
  • 18 个杀手级 JavaScript One Lines
    英文|https://javascript.plainenglish.io/18-killer-javascript-one-liners-%EF%B8%8F-b11f0c796024翻译|杨小二1、复制到剪贴板使用navigator.clipboard.writeText......
  • 5 个 JavaScript 字符串操作库
    英文|https://blog.bitsrc.io/5-string-manipulation-libraries-for-javascript-9ca5da8b4eb8翻译|杨小二使用字符串可能是一项繁琐的任务,因为有许多不同的用例。例如,将......
  • JavaScript基础
    一、JavaScript基础(一)变量和数据类型1、JavaScript介绍​ 1)JavaScript是什么?​ JavaScript是运行在客户端(浏览器)的编程语言,实现人机交互。​ 2)作用​ 网页特效(监听......
  • JavaScript
    JavaScriptJS基础语法1.JS三部分:ECMAScript:规定了基础语法DOM:文档对象模型BOM:浏览器对象模型2.书写位置:内嵌式:所以的js中的代码都是单引号行内式外部式:......