JS去重的几种方法
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
//第一种方法
Array.prototype.removeDuplicate = function(){
var n = [];
for(var i=0;i<this.length;i++){
if(n.indexOf(this[i]) == -1 ){
n.push(this[i]);
}
}
return n;
}
var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN];
var m1 = arr.removeDuplicate();
console.log(m1);//[1, 2, 3, "我", 34, "我的", NaN, NaN] //第二种方法
Array.prototype.removeDuplicate = function(){
var n = [];
for(var i=0;i<this.length-1;i++){
if(this.indexOf(this[i]) == i){
n.push(this[i]);
}
}
return n;
}
var m2 = arr.removeDuplicate();
console.log(m2);//[1, 2, 3, "我", 34, "我的"] //第三种方法
Array.prototype.removeDuplicate = function(){
var n = [],m = {};
for(var i=0;i<this.length;i++){
if(!m[this[i]]){
m[this[i]] = true;
n.push(this[i]);
}
}
return n;
}
var m3 = arr.removeDuplicate();
console.log(m3);//[1, 2, 3, "我", 34, "我的", NaN] //第四种方法
Array.prototype.removeDuplicate = function(){
var n = [];
this.sort();
for(var i=0;i<this.length;i++){
if(this[i] != this[i+1]){
n.push(this[i]);
}
}
return n;
}
var m4 = arr.removeDuplicate();
console.log(m4);//[1, 2, 3, 34, NaN, NaN, "我", "我的"]
</script> </body>
</html>
JS去重的几种方法的更多相关文章
- js去重的两种方法
去重 去重方法和思路也很多,这里就介绍两种吧. 方法一: 1 2 3 4 5 6 7 8 9 10 11 function unique1(arr) { var res = [], ...
- js中数组去重的几种方法
js中数组去重的几种方法 1.遍历数组,一一比较,比较到相同的就删除后面的 function unique(arr){ ...
- js去除空格12种方法
注:本文非本人原著:原文作者: 黄卉 <js去除空格12种方法> //JS去除空格的方法目前共有12种: //实现1 String.prototype.trim = function() ...
- 判断数组的方法/判断JS数据类型的四种方法
参考文: 以下 3 个判断数组的方法,请分别介绍它们之间的区别和优劣Object.prototype.toString.call() . instanceof 以及 Array.isArray() h ...
- JavaScript中数组去重的几种方法
JavaScript中数组去重的几种方法 正常情况下,数据去重的工作一般都是由后端同事来完成的,但是前端也要掌握好处理数据的能力,万一去重的工作交给我们大前端处理,我们也不能怂呀.现在我总结了一些去重 ...
- List集合对象去重及按属性去重的8种方法-java基础总结系列第六篇
最近在写一些关于java基础的文章,但是我又不想按照教科书的方式去写知识点的文章,因为意义不大.基础知识太多了,如何将这些知识归纳总结,总结出优缺点或者是使用场景才是对知识的升华.所以我更想把java ...
- js数组去重的4种方法
js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...
- JS去重的几种常见方法
JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ...
- JS数组去重的9种方法(包括去重NaN和复杂数组类型)
其实网上已经有很多js数组的去重方法,但是我看了很多篇并自己通过代码验证,发现都有一些缺陷,于是在研究多篇代码之后,自己总结了9种方法,如果有哪里不对请及时纠正我哈~ 转载请表明出处 测试代码 let ...
随机推荐
- [转]C语言SOCKET编程指南
1.介绍 Socket编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措?等 ...
- Money, save or spend, this is a problem .
Win a lottery? Had a great hand at the casino? Did fortune shine upon you in the stock market? 彩票中了大 ...
- vtkBoxWidget2Example
This example uses a vtkBoxWidget2 to manipulate an actor. The widget only contains the interaction l ...
- Linux系统下配置环境变量
一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...
- KVC 和 KVO
KVC 键值编码 全称是Key-value coding,翻译成键值编码.它提供了一种使用字符串而不是访问器方法去访问一个对象实例变量的机制. 1.通过key(成员变量的名称)设置 ...
- zookeeper_service 出错 ........... are only available on JDK 1.5 and higher
出错:: ContextLoader:215 ERROR - Context initialization failed org.springframework.beans.factory.Bean ...
- JSON格式序列化与反序列化(List、XML)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- mysql mac 安装修改初始密码
step1:苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server) step2:进入终端输入:cd /usr/local/m ...
- 怎样在Windows资源管理器中添加右键菜单以及修改右键菜单顺序
有时,我们需要在Windows资源管理器的右键菜单中添加一些项,以方便使用某些功能或程序. 比如我的电脑上有一个免安装版的Notepad++,我想在所有文件的右键菜单中添加一项用Notepad++打开 ...
- mybatis配置自带缓存和第三方缓存
http://blog.csdn.net/grhlove123/article/details/47808025