js 冒泡排序 去重的方法
1.冒泡排序
var arr = [1,3,9,6,5,7,2,4,8];
声明空变量res, 进行临时存储数据
var res;
for(var i = 0; i < arr.length; i++){
for(var j = 0; j < arr.length; j++){
if(arr[j] > arr[j+1]){
res = arr[j];
arr[j] = arr[j+1];
arr[j+1] = res;
}
}
}
console.log(arr)
从大到小进行排序
当前下标数据跟后一个下标数据进行比较 如果
当前下标数据比后一位大就进行换位排序
利用双层for循环直至排序结束
2.去重
(1)set数据结构去重
es6提供了新的数据类型 set() 它类似于数组,但是里面成员的值都是唯一的
set()数据类型里面可以写那些数据 里面写可迭代数据
set数据创建方式4
var a = new Set(['你好','我好','全都好','你好'])
打印结果 Set(3) {'你好', '我好', '全都好'}
set.add() 添加在数据最后后边
set.delete() 删除某一条数据
(2)js逻辑去重
var arr = [1,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7];
var arr2 = [];
for(var i = 0; i<arr.length;i++){
if(arr2.indexOf(arr[i]) == -1){
arr2.push(arr[i])
}
}
如果arr里边indexof没有查找到相应的数据返回 -1 判断成立就添加相应的
数据 已经添加到的数据indexof就会返回相应数据的下标 判断不成立不添加
js 冒泡排序 去重的方法相关推荐
- 常用的js数组去重的方法
常用的js数组去重的方法 1. 使用for循环去重 2.使用set对象去重 3.使用数组索引indexOf()方法搭配for循环去重 4.使用includes()方法搭配for循环去重 5.使用fif ...
- js数组去重的方法:
js数组去重:项目中需求是选择一些数据,但是不能重复出现同样的数据,这里就要用到JS数组去重,以下几种数组去重方法简单实用哦! 方法一:利用数组的indexOf方法去重 需求: 利用indexOf判断 ...
- js 数组去重的方法大全
1.使用双重for循环,再利用数组的splice方法去重(ES5常用) let arr = [1, 5, 6, 0, 7, 3, 0, 5, 9, 5]; function unique(arr) { ...
- JS数组去重 ES6 方法
let arr = [0, 0, 0, 0, 1, 2, 3, 4, 4, 5, 2, 3, 3, 3, 9, 8, 9]; //数组去重法1 console.log(Array.from(new S ...
- js数组去重排序(升序、降序、随机)方法
js原生去重排序 var hhl = [1, 5, 6, 3, 2, 7, 6, 1, 5, 4, 8, 6, 9]var newArr = [];//创建一个新数组var isRepeat = fa ...
- JS数组去重方法记录
js数组去重方法 1.遍历数组,建立新数组,利用indexOf判断是否存在于新数组中,不存在则push到新数组,最后返回新数组 代码如下(示 例): function getArray(ar) {va ...
- JS数组去重方法小结
JS数组去重 看了网上很多数组去重方法,用的比较常见的大概就几种,今天想自己来做一个总结. 部分内容参考该博客 1 . 在原数组上操作(基本方法) 思路:利用循环嵌套,判断数组中每个元素与其后面的元素 ...
- js数组去重的4个方法
面试前端必须准备的一个问题:怎样去掉Javascript的Array的重复项.据我所知,百度.腾讯.盛大等都在面试里出过这个题目. 这个问题看起来简单,但是其实暗藏杀机. 考的不仅仅是实现这个功能,更 ...
- js数组去重方法分析与总结
数组去重经常被人拿来说事,虽然在工作中不常用,但他能够很好的考察js基础知识掌握的深度和广度,下面从js的不同阶段总结一下去重的方法. ES3阶段 该阶段主要通过循环遍历数组从而达到去重的目的 多次循 ...
最新文章
- java socket channel_Java NIO 教程(八) SocketChannel
- 【GAN】GAN 也可以大幅压缩,来自MIT 韩松团队的最新研究!算力消耗不到1/9,现已开源!...
- 大话中文文本分类之DPCNN
- Python之Pandas:利用pandas实现行数据添加,即将字典格式的数据,按照行数据,从头开始循环添加到dataframe中
- android 多线程概述
- 字段类型:mysql中int(3)与int(11)有什么区别吗?优化数据库字段占据磁盘的大小
- 团队项目:过山车游戏的设想
- matlab 病态方程组,数值分析(Hilbert矩阵)病态线性方程组的求解Matlab程序
- Ubuntu下安装Python3(与旧Python2版本共存)
- TensorFlow进阶:CNN对CIFAR10图像分类
- 分享31个游戏源代码总有一个是你想要的
- python 统计图绘制,Python绘制统计图表
- java调用dao_Servlet里面一调用Dao里的某个方法
- 【hexo】基础教程-六-添加百度统计和Google统计
- 计算机硬盘空间不都用,搞不懂的磁盘占用100% 自检一遍全解决
- 从购买服务器到网站搭建成功保姆级教程~超详细
- P背景软件测试,软件测试的背景和发展
- [每日一题]C语言:将输入的一句话的单词倒置,但标点符号不倒置
- mcnp的重复探测器单元计数-fmesh卡的介绍
- compareAndSwapObject
热门文章
- 蓝桥杯每日一练——礼物 python
- 使用OpenFace进行人脸识别(1)
- MWC世界移动通信大会
- Vue基础知识+组件化开发+模块化开发总结
- 神经网络讲解与实例,神经网络讲解教案
- 【内网穿刺】内网穿刺使用体验
- JAVA编写的基于正则表达式的SNL词法分析器
- Render RenderContents RenderControl 三个方法的区别
- 为何asp.net2.0中 rendercontrol 对于有些服务器端的控件会不支持
- 2021年中国实验分析仪器仪表行业经济运行情况分析:主营收入346.5亿元,同比增涨17.49% [图]