算法
文章平均质量分 55
二九君
这个作者很懒,什么都没留下…
展开
-
JavaScript数组扁平化的五种方式
一、数组扁平化概念数组扁平化是指将一个多维数组变为一维数组[1, [2, 3, [4, 5]]] ------> [1, 2, 3, 4, 5]二、实现方式1、reduce遍历数组每一项,若值为数组则递归遍历,否则concat。reduce() 接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。语法:array.reduce(function(total, currentValue, currentIndex, arr), initialValu原创 2021-05-19 11:37:17 · 251 阅读 · 0 评论 -
JavaScript根据某个相同的字段进行数据分组
一、为什么进行数据的分组后端返回的数据往往有可能是未按照某个相同字段值所分好组。而前端有时候的需求是对数据进行分组展示。(其实这个工作前后端都可以完成)二、实现方式数据示例:var arr = [{ "categoryId":123456, "parentId":2010105, "name":"Web解决方案"},{ "categoryId":2010106, "parentId":2010105, "name":"IT解决方案"},{原创 2021-04-14 18:38:17 · 3268 阅读 · 1 评论 -
JavaScript中常见的排序算法(冒泡、选择、插入、快速)
一、排序算法类别常见比较排序:冒泡排序选择排序(普通选择排序、堆排序)插入排序(普通插入排序、希尔排序)快速排序归并排序常见非比较排序:计数排序基数排序桶排序复杂度表:二、冒泡排序 Bubble Sort大致流程:1.从第一个元素开始,比较每两个相邻元素,如果前者大,就交换位置2.每次遍历结束,能够找到该次遍历过的元素中的最大值3.如果还有没排序过的元素,继续1演示图:代码实现:function bubbleSort(arr) { for (let i原创 2021-02-23 23:56:31 · 198 阅读 · 0 评论