js数组去重的四种方式
- // 删除重复的
- function only(arr){
- for(var i=0;i<arr.length;i++){
- for(var j = i+1;j<arr.length;j++){
- if(arr[i]===arr[j]){
- arr.splice(j,1);
- j--;
- }
- }
- }
- return arr;
- }
- console.log(only([6]));//[6]
- console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]
- // 往新数组中插入不重复的元素或在最后一个位置的重复元素
- function only(arr){
- var newArr = [],
- len = arr.length;
- for(var i = 0;i<len;i++){
- for(var j = i+1;j<len;j++){
- if(arr[i]===arr[j]){
- j = false;
- break;
- }
- }
- if(j){
- newArr.push(arr[i]);
- }
- }
- return newArr;
- }
- console.log(only([6]));//[6]
- console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]
- //往新数组中插入不重复的元素或在最后一个位置的重复元素
- //难理解一些,关键是“j = ++i;”,相当于开启新一轮的i循环(外层循环)
- function only(arr){
- var newArr = [],
- len = arr.length;
- for(var i = 0;i<len;i++){
- for(var j = i+1;j<len;j++){
- if(arr[i] === arr[j]){
- j = ++i;
- }
- }
- newArr.push(arr[i]);
- }
- return newArr;
- }
- console.log(only([6]));//[6]
- console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]
- //将数组元素设为对象属性,值为true;如重复,不再添进数组
- function only(arr){
- var newArr = [],
- obj = {},
- m;
- for(var i = 0;(m = arr[i]) !== undefined;i++){
- if(!obj[m]){
- newArr.push(arr[i]);
- obj[m] = true;
- }
- }
- return newArr;
- }
- console.log(only([6]));//[6]
- console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]
js数组去重的四种方式的更多相关文章
- JS 数组去重的几种方式
JS 常见的几种数组去重方法 一.最简单方法(indexOf 方法) 实现思路:新建一个数组,遍历要去重的数组,当值不在新数组的时候(indexOf 为 -1)就加入该新数组中: function u ...
- js 数组去重的几种方式及原理
let arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,' ...
- js数组去重的三种方式的比较
做前端的,一般实现功能是主要的,但是重中之重却是在做到功能完善的情况下提高性能. 1.遍历数组法 实现的思路:构建一个新的数组存放结果,for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组 ...
- JS数组去重的几种常见方法
JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...
- js 复制文本的四种方式
js 复制文本的四种方式 一.总结 一句话总结:js文本复制主流方法:document的execCommand方法 二.js 复制文本的四种方式 纯 转载复制,非原创 原地址:http://www.c ...
- js数组去重的4种方法
js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...
- JS数组去重的6种算法实现
1.遍历数组法 最简单的去重方法,实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中:注意点:判断值是否在数组的方法"indexOf"是ECMAScript5 方法 ...
- js 实现复制功能的四种方式的优劣对比
今日网上浏览别人项目,看到有人用了document.execCommand这个属性,于是想起之前我选用Clipboard.js 来实现.对于这种不常用的属性还是不太放心,于是随手查了下关于复制的资料, ...
- JavaScript数组去重的四种方法
今天,洗澡的想一个有趣的问题,使用js给数组去重,我想了四种方法,虽然今天的任务没有完成,5555: 不多说,po代码: //方法一:简单循环去重 Array.prototype.unique1 ...
随机推荐
- (转)基于MVC4+EasyUI的Web开发框架经验总结(3)- 使用Json实体类构建菜单数据
http://www.cnblogs.com/wuhuacong/p/3669708.html 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开 ...
- apiCloud组件:swiper
一.apicloud中基于swiper封装了一个模块供调用.就是swiper.js 页面引入js就行 <script type="text/javascript" src=& ...
- Spring cloud公共模块
1.0公共的模块是公共的工具包以及实体等 2.添加架包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xs ...
- jQuery节点操作方法大全
1.append() 向每个匹配的元素内部追加内容 HTML代码: <p>我想说:</p> jQuery代码: $('p').append('<b>你好</b ...
- 训练1-W
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值.编程输出该平均值序列. Input 输 ...
- keepalived实现IP地址高可用
yum -y install keepalived vim /etc/keepalived/keepalived.conf global_defs { router_id LVS_DEVEL_ngin ...
- POJ 2184
简单的01背包,把S看体积,把F看价值,把它们变正数处理就可以了.在处理负数时,因为减一个负数相当于加一个,所以要从前往后. #include <iostream> #include &l ...
- Blade - 腾讯开源的构建系统 c/c++编译环境
,Blade是软件project的利器.有助于模块化,模块化的力度控制自如.对于提高系统的可维护性.复杂性的隔离.代码复用的最大化.都有非常大的优点. 2,Blade提供了单元測试的最佳使用方式. 假 ...
- sedna载入xml文件
如果有一个xml文件a.xml.须要把它载入到sedna数据库xml_db里. sedna是通过se_term把xml载入到数据库的.有两种方法: 1.通过se_term的-query參数. se_t ...
- Qt Installer Framework的学习(三)
Qt Installer Framework的学习(三) Qt Installer Framework的样例中.通常是这种:config目录一般放了一个config.xml文件,包括的是安装配置xml ...