在数组中查找重复项并使用javascript将其删除
如何在数组中找到重复项并使用javascript删除它们?在数组中查找重复项并使用javascript将其删除,javascript,Javascript,如何在数组中找到重复项并使用javascript删除它们?var sampleArr=new array(1,1,1,1,2,2,3,3,4,4)//声明数组 var sampleArr=new Array(1,1,1,1,1,2,2,3,3,3,4,4,4); //Declare array document.write(uniqueArr(sampleArr)); //Print the unique value //Adds new uniqueArr values to temp ar
var sampleArr=new array(1,1,1,1,2,2,3,3,4,4)//声明数组
var sampleArr=new Array(1,1,1,1,1,2,2,3,3,3,4,4,4); //Declare array
document.write(uniqueArr(sampleArr)); //Print the unique value
//Adds new uniqueArr values to temp array
function uniqueArr(a) {
temp = new Array();
for(i=0;i<a.length;i++){
if(!contains(temp, a[i])){
temp.length+=1;
temp[temp.length-1]=a[i];
}
}
return temp;
}
//Will check for the Uniqueness
function contains(a, e) {
for(j=0;j<a.length;j++)if(a[j]==e)return true;
return false;
}
文件编写(uniqueArr(sampleArr))//打印唯一值
//将新的uniqueArr值添加到临时数组
函数uniqueArr(a){
temp=新数组();
对于(i=0;i一般来说,您可以使用以下类似的方法,从现有数组中删除重复项。如果您的数组只包含字符串或数字,则可以显著简化此操作
var arrayContains = Array.prototype.indexOf ?
function(arr, val) {
return arr.indexOf(val) > -1;
} :
function(arr, val) {
var i = arr.length;
while (i--) {
if (arr[i] === val) {
return true;
}
}
return false;
}
function removeDuplicates(arr, equals) {
var val, originalArr = arr.slice(0);
arr.length = 0;
for (var i = 0, len = originalArr.length; i < len; ++i) {
val = originalArr[i];
if (!arrayContains(arr, val)) {
arr.push(val);
}
}
return arr;
}
var arr = [1, 2, 2, 1, 3];
removeDuplicates(arr);
console.log(arr); // [1, 2, 3]
var arrayContains=Array.prototype.indexOf?
功能(arr、val){
返回arr.indexOf(val)>-1;
} :
功能(arr、val){
var i=阵列长度;
而(我--){
if(arr[i]==val){
返回true;
}
}
返回false;
}
函数移除的副本(arr,等于){
var-val,originalArr=arr.slice(0);
arr.length=0;
对于(变量i=0,len=originalArr.length;i
用于(变量i=0;i
数组中的变量类型是什么?只有字符串?很抱歉,这不是特定的,我想字符串数组和整数数组都是。可能是重复的
for(var i=0; i < arr.length; i++)
{
for(var j=i+1; j < arr.length; j++)
{
if(arr[j] == arr[i])
{
arr.splice(j, 1);
}
}
}