js 中如何去掉数组中的重复的数据
5个回答
展开全部
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这就是数组去重了。。。
var str=['hello','node','element','node','hello','blue','red'];
var str1=[];
function first(args){
for(i=0;i<args.length;i++){
if(str1.indexOf(args[i])<0){
str1.push(args[i])
}
}
return str1;
}
first(str);
console.log(str1)
参考一下。。。从str数组中依次插入数据到str1数组中,str1.indexOf(args[i])这段是表示查询str1数组中是否存在str中要插入的数据。。返回false,即-1,表示没有,则将str中此数据插入到str1中,否则不执行,进行下一次循环。。
var str=['hello','node','element','node','hello','blue','red'];
var str1=[];
function first(args){
for(i=0;i<args.length;i++){
if(str1.indexOf(args[i])<0){
str1.push(args[i])
}
}
return str1;
}
first(str);
console.log(str1)
参考一下。。。从str数组中依次插入数据到str1数组中,str1.indexOf(args[i])这段是表示查询str1数组中是否存在str中要插入的数据。。返回false,即-1,表示没有,则将str中此数据插入到str1中,否则不执行,进行下一次循环。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
也可以写成str.indexOf(str[i])==i 。 indexOf 只要查询到首发就停, 后面的不找,所以首发的索引值与循环的索引值是一致的,由于indexof始终只找首发,首发的索引值肯定跟2发 3发的索引值对不上,就是false。初学我自己说一遍加深理解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
let arr = [1,2,2,3,4,4,5];
let arr2 = [];
arr.map(item =>{
if(arr2.indexOf(item) <= -1)
{
arr2.push(item);
}
return arr2;
})
console.log(arr2)
let arr2 = [];
arr.map(item =>{
if(arr2.indexOf(item) <= -1)
{
arr2.push(item);
}
return arr2;
})
console.log(arr2)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询