JS — 数组去重(4种方法)
第一种:双重循环
var strCode='zxcvbnmasdfghjklopiuytrewqAWEDRFTGYHUJIK';
var str='';
for(var i=0;i<4;i++){
var rand=Math.round(Math.random()*61);
if(str.indexOf(strCode.charAt(rand))==-1){
str+=strCode.charAt(rand);
}else{
i--;
}
}
console.log(str);
第二种:新数组
var ary=[1,2,3,3,2,3,4,5];
var ary1=[];
for(var i=0;i<ary.length;i++){
if(ary1.indexOf(ary[i])==-1){
ary1.push(ary[i]);
}
}
alert(ary1);
第三种:可以记录次数的对象去重
var ary=[1,2,3,3,2,3,4,5];
var obj={};
for(var i=0;i<ary.length;i++){
var cur=ary[i];
if(obj[cur]){
obj[cur]++;
}else{
obj[cur]=1;
}
}
var ary=[];
for(var attr in obj){
ary.push(attr);
} alert(ary);
第四种:sort 思想
var ary=[1,2,3,3,2,3,4,5];
ary.sort(function(a,b){return a-b;});
for(var i=0;i<ary.length;i++){
if(ary[i]===ary[i+1]){
ary.splice(i,1);
i--;
}
}
alert(ary);
原文链接:http://www.qdfuns.com/notes/42231/be94f6921a24f86bd3dcedbe93ab75ef.html
JS — 数组去重(4种方法)的更多相关文章
- js数组去重五种方法
今天来聊一聊JS数组去重的一些方法,包括一些网上看到的和自己总结的,总共5种方法(ES5). 第一种:遍历数组法 这种方法最简单最直观,也最容易理解,代码如下: var arr = [2, 8, 5, ...
- js数组去重(多种方法)
// js数组去重 Array.prototype.fun1 = function(){ var arr = this, result = [], i, len = arr.length; for(i ...
- js 数组去重(7种)
第一次写技术博客,之前总是认为写这些会很浪费时间,还不如多看几篇技术博文.但...但昨天不知道受了什么刺激,好像有什么在驱使着自己要写一样,所以才有了今天的第一篇博文.总觉得应该要坚持这样写下去.初次 ...
- (PASS)JAVA数组去重 三种方法 (不用集合)
第一种方法(只学到数组的看): 定义一个新的数组长度和旧数组的长度一样,存储除去重复数据的旧数组的数据和0, package demo01; import java.sql.Array; import ...
- JS数组去重的十种方法
一.前言: 我们在实际工作中,或者在面试找工作时,都会用到或者被问到一个问题,那就是"数组如何去重".是的,这个问题有很多种解决方案,看看下面的十种方式吧! 二.数组去重方式大汇总 ...
- java script 数组去重两种方法
第一种方法: var arr=[1,1,2,3,4,4,4,5,6,6,6,6]; var arrb=Array(); for(var i=0;i<arr.length;i++) ...
- JavaScript数组去重(5种方法)
// 数组去重 let arr = ['a', 'b', 'b', 1, 1, 'true', true, true, NaN, NaN, 'NaN', undefined, undefined, n ...
- js数组去重几种思路
在一些后台语言中都内置了一些方法来处理数组或集合中重复的数据.但是js中并没有类似的方法,网上已经有一些方法,但是不够详细.部分代码来源于网络.个人总计如下:大致有4种思路 1)使用两次循环比较原始的 ...
- js数组去重的hash方法
对于 JavaScript 数组去除重复项,现在有多种方法,其中一种是hash,如下: if (!Array.prototype.unique) { Array.prototype.unique = ...
- JS数组去重的十种方法(转载)
重点:博客原文出自http://www.cnblogs.com/yuanbo88/p/7345331.html.我只是想给自己做个笔记.感谢敲代码的怪蜀黍做的贡献. Methods 1: 思路:定义一 ...
随机推荐
- 摘:PC客户端 XP兼容性调查
现象1:XP SP2下,客户端安装失败(或者启动失败) 解决方案:需要安装以下3个补丁(已经集成到安装包中) ==系统Hotfix(仅仅XP SP2需要安装): http://support.micr ...
- linux下udev
如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略.在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev ...
- 【20170506】贝业新兄弟IT总监李济宏:第三方家居物流的IT架构探索
5月6日,物流人的节日,这一天,全国的物流人汇聚中国上海嘉定,以“新时代.新物流”为主题的2017中国货运产业大会暨货运企业家高峰论坛如期召开,同时,首届嘉年华活动隆重开启,八大主题分享活动,精彩进行 ...
- mongodb配置文件解说(转载)
启动方式 ./bin/mongod -f mongodb.conf 会看到 about to fork child process, waiting until server is ready for ...
- FFmpeg中subtitle demuxer实现
[时间:2019-01] [状态:Open] [关键词:字幕,ffmpeg,subtitle,demuxer,源码] 0 引言 本文重心在于FFmpeg中subtitle demuxer的实现逻辑. ...
- [Memcached] telnet命令
一:连接命令 在windows下的cmd或者Linux执行 telnet 127.0.0.1 11211 (如果此处报错"telnet不是内部或外部命令",一定是没有安装telne ...
- [转]Mybatis foreach 批量操作
原文地址:https://blog.csdn.net/jason5186/article/details/40896043 foreach属性属性 描述item 循环体中的具体对象.支持属 ...
- QT信号/槽
在我的理解中,QT和Android都是类似的开发框架,都是由开发团队封装了各式各样的接口和数据结构.将一些问题的解决方法简单化比如QT中将线程封装为QThread,派生类通过重写run方法来将代码投入 ...
- js学习(六)- js对象创建
//---------------------js文件--------------------- var namespace02=new Object(); namespace02.Person=fu ...
- 服务器返回:type":"Buffer","data":
接口中返回"type":"Buffer","data":[32,232,175,183,233,151,174,229,177,177,23 ...