如题所述
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>判断数组是否有重复值的三种方法</title>
</head>
<body>
<script>
var text = [1, 2, 3, 4, 5, 6, 7, 5, 34, 22, 1, 2]; // 需要判断的数组
var Result = []; // 存放结果
for (var i = 0; i < text.length; i++) {
for (var n = 0; n < text.length; n++) {
if (text[i] == text[n] && i !== n && Result.indexOf(text[i]) == -1) {
Result.push(text[i]);
}
}
}
console.log("第一种", Result);
Result = [];
var textBox = []; // 新的空数组--容器
for (var i = 0; i < text.length; i++) {
if (textBox[text[i]] == 1) {
Result.push(text[i]);
} else {
textBox[text[i]] = 1;
}
}
console.log("第二种", Result);
Result = [];
function action(arr) {
if (arr.length == 0) {
console.log("第三种", Result);
} else {
var current = arr.shift();
if (arr.indexOf(current) !== -1) {
Result.push(current);
}
action(arr);
}
}
action(text);
</script>
</body>
</html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>判断数组是否有重复值的三种方法</title>
</head>
<body>
<script>
var text = [1, 2, 3, 4, 5, 6, 7, 5, 34, 22, 1, 2]; // 需要判断的数组
var Result = []; // 存放结果
for (var i = 0; i < text.length; i++) {
for (var n = 0; n < text.length; n++) {
if (text[i] == text[n] && i !== n && Result.indexOf(text[i]) == -1) {
Result.push(text[i]);
}
}
}
console.log("第一种", Result);
Result = [];
var textBox = []; // 新的空数组--容器
for (var i = 0; i < text.length; i++) {
if (textBox[text[i]] == 1) {
Result.push(text[i]);
} else {
textBox[text[i]] = 1;
}
}
console.log("第二种", Result);
Result = [];
function action(arr) {
if (arr.length == 0) {
console.log("第三种", Result);
} else {
var current = arr.shift();
if (arr.indexOf(current) !== -1) {
Result.push(current);
}
action(arr);
}
}
action(text);
</script>
</body>
</html>
温馨提示:答案为网友推荐,仅供参考
第1个回答 2016-12-27
function isRepeat1(arr){
var s = arr.join(",")+",";
for(var i=0;i<arr.length;i++) {
if(s.replace(arr[i]+",","").indexOf(arr[i]+",")>-1) {
alert("数组中有重复元素:" + arr[i]);
break;
}
}
}
function isRepeat2(arr){
var nary=arr.sort();
for(var i=0;i<arr.length;i++){
if (nary[i]==nary[i+1]){
alert("数组重复内容:"+nary[i]);
}
}
}
function isRepeat3(arr){
var hash = {};
for(var i in arr) {
if(hash[arr[i]])
return true;
hash[arr[i]] = true;
}
return false;
}本回答被提问者采纳
第2个回答 2016-12-27
ar 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 s = ary.join(",")+",";
for(var i=0;i<ary.length;i++) {
if(s.replace(ary[i]+",","").indexOf(ary[i]+",")>-1) {
alert("数组中有重复元素:" + ary[i]);
break;外语屋
}