为了账号安全,请及时绑定邮箱和手机立即绑定

JS 数组去重

JS 数组去重

波斯汪 2018-12-06 17:46:53
题目:移除数组 arr 中的所有值与 item 相等的元素,并将结果返回 。 要求:1:直接在给定的 arr 数组上进行操作。    2:数组顺序不可打乱。 如:function removeWithoutCopy(arr,item)   {     /*       your code     */     return arr;   }   console.log(removeWithoutCopy([3,1,4,2],2));//输出[3,1,4]   来试试吧!
查看完整描述

9 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

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

   var items=arr[i];

   if(items==item){

        arr.splice(i,1);

 }

}

查看完整回答
反对 回复 2018-12-24
?
四季花海

TA贡献1811条经验 获得超5个赞

var一个新书组.把不 一样的放进去

查看完整回答
反对 回复 2018-12-24
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

第一个条件是不能再创建数组

查看完整回答
反对 回复 2018-12-24
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

都是高手,小弟有点跟不上啊

查看完整回答
反对 回复 2018-12-24
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

 1 function removeWithoutCopy(arr,item)
 2 {
 3     arr_ = []
 4     arr.forEach(function(it){
 5         if(!function(a,b){
 6             return JSON.stringify(a) == JSON.stringify(b);
 7         }(item,it)){
 8             arr_.push(it);
 9         }
10     });
11     return arr_;
12 };

见笑。

查看完整回答
反对 回复 2018-12-24
?
繁星coding

TA贡献1797条经验 获得超4个赞

 1 function removeWithoutCopy(arr,item)
 2 {
 3     var len = arr.length;
 4     var eq = function(a,b){
 5             return JSON.stringify(a) == JSON.stringify(b);
 6         };
 7     for(var i =len-1;i>=0;i--){
 8         if(eq(arr[i],item)){
 9             arr.splice(i,1);
10         }
11     }
12     return arr;
13 };

如果一定在原数组操作,我会从后向前遍历。

查看完整回答
反对 回复 2018-12-24
?
12345678_0001

TA贡献1802条经验 获得超5个赞

@开学五年级了: 学习了,你的经验很丰富,你的方法更加的通用。

查看完整回答
反对 回复 2018-12-24
?
三国纷争

TA贡献1804条经验 获得超7个赞

@路人第十一: 只是不知道你数组内的元素是什么所以才那么写。如果是对象,不能通过JSON.stringify来比的。因为

var eq = function(a,b){
        return JSON.stringify(a) == JSON.stringify(b);
};

var a = {
    x:1,
    y:2
};
var b = {
    y:2,
    x:1
};

console.log(eq(a,b));//false

但实际上述对象a,b是相同的。至于对象怎么比较,就扯远了。如果是基本类型,上述应该没问题。

不过关键点应该在从后向前遍历,不是吗?

查看完整回答
反对 回复 2018-12-24
?
长风秋雁

TA贡献1757条经验 获得超7个赞

@开学五年级了:  是的,从后向前的确是解决的下标的问题

查看完整回答
反对 回复 2018-12-24
  • 9 回答
  • 0 关注
  • 519 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信