js 判断数组的值是否有重复

方法一:

var ary = new Array("111","22","33","111");

var s = ary.join(",")+",";

for(var i=0;i<ary.length;i++) {

if(s.replace(ary[i]+",","").indexOf(ary[i]+",")>-1) {

alert("数组中有重复元素:" + ary[i]);

break;

}

}

方法二:

var ary = new Array("111","22","33","111");

var nary=ary.sort();

for(var i=0;i<ary.length;i++){

if (nary[i]==nary[i+1]){

alert("数组重复内容:"+nary[i]);

}

}

方法三:

function isRepeat(arr){

var hash = {};

for(var i in arr) {

if(hash[arr[i]])

return true;

hash[arr[i]] = true;

}

return false;

}

Js中sort()方法的用法

sort(sortfunction)为javascript的数组对象(Array)的一个方法,提供排序功能
参数 sortFunction 为可选项,是用来确定排序原则的js函数,
这个函数有两个参数,分别代表每次排序比较时的两个数组项,
如果这个函数的返回值小于0 则不交换原数组中元素的位置,否则交换原数组中元素的位置。

如果这个参数被省略, 那么元素将按照 ASCII 字符顺序进行升序排列。

Demo1默认按字母排序

var arr = [‘b‘,‘cc‘,‘abc‘,‘fzj‘,‘xij‘,‘acd‘,‘yab‘];

arr.sort();

for (var i = 0; i < arr.length; i++) {

document.writeln(nameArr[i]);

}

结果:abc acd b cc fzj xij yab

Demo2数字排序,sort(prama)方法带参数

//降序函数

var desc = function(x,y)

{

if (x > y)

return -1;  //返回一个小于0 的数即可

else

return 1;  //返回一个大于0 的数即可

}

//升序函数

var asc = function(x,y)

{

if (x > y)

return 1;  //返回一个大于0 的数即可

else

return -1;  //返回一个小于0 的数即可

}

var arr2 = [4,6,4,2,7,9,0,1];

arr2.sort(desc); //降序排序

document.writeln(arr2);

document.writeln("<br>");

arr2.sort(asc); //升序排序

document.writeln(arr2);

结果:
9,7,6,4,4,2,1,0
0,1,2,4,4,6,7,9

Demo2的简单算法

var arr2 = [4,6,4,2,7,9,0,1]; 
arr2.sort(function(a,b){return a - b});
document.writeln(arr2); 
document.writeln("<br>"); 
arr2.sort(function(a,b){return b - a});
document.writeln(arr2);

时间: 2024-10-05 05:04:59

js 判断数组的值是否有重复的相关文章

js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法

var  questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf = function (e) { for (var i = 0, j; j = this[i]; i++) { if (j.indexOf(e) != -1) { return i; } } return -1; } if (anSwerIdValue.length < 14) { alert(&quo

[记录] js判断数组key是否存在

数组中判断key是否存在 可以通过arrayObject.hasOwnProperty(key)来进行判断数组key是否存在,返回的是boolean值,如果存在就返回true,不存在就返回false 和php中的array_key_exisits($key,$arr);的功能类似 参考:js判断数组key是否存在(不用循环)

js判断数组是否有重复数据的三种方法

var arr=new Array("aa","bb","cc","dd","aaa","aa"); // 方法1:取出数组中的一个值,与其之后的数据挨个比对>>>最容易想到,但运算最麻烦 var method1=function(array){ for(var i=0;i<array.length-1;i++) { for(var j=i+1;j<arra

JS判断数组中是否有重复元素的方法

判断数组中是否有重复元素,最容易想到的方法是使用2重循环,逐个遍历,比较,但是这个是最慢,最笨的方法,百度得出了更好的方法. var ary = new Array("111","22","33","111"); var nary=ary.sort(); for(var i=0;i<ary.length;i++){ if (nary[i]==nary[i+1]){ alert("数组重复内容:"+na

node js 判断数组中是否包含某个值

判断数组中是否包含某个值这里有四种方法.用的测试数据: let arr=["a","b","c"]; let arr2={"a":"aaa","b":"bbb","c":"ccc"}; in判断是否在数组的key里in操作符针对的是key,而非value.而对于普通的一维数组来说,key是隐藏的.所以,对于判断某个数组中是否含有

js 判断数组中是否存在重复值

// 检测是否有重复值            function isRepeat(arr) { var isRepeat = false;                var hash = {}; for(var i in arr) { if (hash[arr[i]]) { isRepeat = arr[i];                        return isRepeat;                    } hash[arr[i]] = true;          

js判断数组是否有重复值

function isRepeat(arr) { var hash = {}; for(var i in arr) { if(hash[arr[i]]) return true; hash[arr[i]] = true; } return false; } var a = [1,2,34,5,1] console.log(isRepeat(a)) 原文地址:https://www.cnblogs.com/bunuo/p/9267965.html

js判断数组中是否有重复值得三种方法

方法一: var s = ary.join(",")+","; for(var i=0;i<ary.length;i++) { if(s.replace(ary[i]+",","").indexOf(ary[i]+",")>-1) { alert("数组中有重复元素:" + ary[i]); break; } } 方法二: var ary = new Array("

js判断数组中是否有重复元素

方法一:indexOf 方法 function isRepeat() { var ary = new Array("111", "22","22", "33", "111"); for (var i = 0; i < ary.length; i++) { console.log(ary.indexOf(ary[i])); if(ary.indexOf(ary[i]) != i) { alert(&qu