javascript数组去重
2013-10-18 01:36
441 查看
字典去重:
function delrep2() { var n = {} , r = [] this.forEach(function(v){ if (!n[v]) { n[v] = true r.push(v) } }) return r },
但是令人遗憾的是,这个方法是有bug的:你把所有的元素都转化成字典的键值key,也就是字符串,那必然会出现1和'1'的问题
一、jQuery.unique
使用jQuery unique 函数去重,适用于已引入jQuery库的童鞋语法:
jQuery.unique( array )
示例:
var arr=["start", "1", "2", "1", "dsfsd", "4", "3", 3, "4", 4, "end", 5] console.log(jQuery.unique( arr )) //["start", "end", "dsfsd", 5, 4, "4", 3, "3", "2", "1"]
二、自定义函数
以下方法提取自jQuery,实现原理:对数组排序,判断相邻的值是否相等源代码:
Array.prototype.unique = function(){ var results=this.sort() for ( var i = 1; i < results.length; i++ ) { if ( results[i] === results[ i - 1 ] ) { results.splice( i--, 1 ); } } return results; }
示例:
var arr=["start", "1", "2", "1", "dsfsd", "4", "3", 3, "4", 4, "end", 5] console.log(arr.unique()) //["1", "2", "3", 3, "4", 4, 5, "dsfsd", "end", "start"] 更多: http://www.ituring.com.cn/article/49791 http://www.111cn.net/wy/js-ajax/45241.htm
相关文章推荐
- javascript之数组操作
- javascript 对比两个数组获取不同元素
- javascript如何判断数组内元素是否重复的方法集锦
- 【自学笔记】 原生JavaScript判断一个变量是否为数组,利用原型对象
- javascript基础:函数传递参数的方式、参数数组、变量范围(变量作用域)
- javascript之数组操作
- javascript 数组的使用 + js 对象 转换为json 字符串
- 清空javascript数组数据
- javascript 返回数组中不重复的元素
- JavaScript学习总结(八)——JavaScript数组
- javascript数据结构-数组
- JavaScript 数组运用实现代码
- JavaScript实现数组去除重复
- JavaScript学习笔记之数组求和方法
- javascript js 操作数组 增删改查
- Javascript数组排序实例
- JavaScript中判断未知对象是否是一个类数组对象
- JavaScript数组常用方法
- javascript数组方法之(二)
- javaScript Array(数组)相关方法简述