1、(jquery)
jQuery.unique( array );
jQuery.unique( array )返回: Array
描述: 删除数组中重复元素。只处理删除DOM元素数组,而不能处理字符串或者数字数组(试了下,有的版本应该可以)
2、(jQuery)
var arr = ["1","2","3","4","5","4","3"]; var uniqueArr = []; $.each(arr, function(i, el){ if($.inArray(el, uniqueArr) === -1) uniqueArr.push(el); });
jQuery.inArray( value, array [, fromIndex ] )返回: Number
描述: 在数组中查找指定值并返回它的索引(如果没有找到,则返回-1)。
-
添加的版本: 1.2jQuery.inArray( value, array [, fromIndex ] )
$.inArray()
方法类似于JavaScript的原生.indexOf()
方法,没有找到匹配元素时它返回-1。如果数组第一个元素匹配value
(参数) ,那么$.inArray()
返回0。
因为JavaScript将0视为false(即 0 == false, 但是 0 !== false),如果我们检查在array
中存在value
,我们只需要检查它是否不等于(或大于)-1。
3、(javascript)
不用jQuery, 你可以先排序,然后遍历此Array, 比较前后两个元素的值.
var arr = [9, 9, 111, 2, 3, 4, 4, 5, 7]; var sortedArr = arr.sort(); //这是按字符串排的序 var results = []; for (var i = 0; i < arr.length - 1; i++) { if (sortedArr[i + 1] == sortedArr[i]) { results.push(sortedArr[i]); } } alert(results);
//修正: 16.09.21
var arr = [1,2,3,1,4,2,1];
var newarr = [];
arr.sort();
for(var i = 0; i< arr.length; i++){
if(i === 0){
newarr.push(arr[i])
}else if(arr[i] !== arr[i-1]){
newarr.push(arr[i])
}
}
console.log(newarr)
4、(javascript)
function unique(array){ var n = [];//临时数组 for(var i = 0;i < array.length; i++){ if(n.indexOf(array[i]) == -1) n.push(array[i]); } return n; }