javascript - angularjs数组去重
天蓬老师
天蓬老师 2017-04-11 10:23:25
0
3
401


如图,当上面我输了“衢州”之后,下面的衢州如何消失?
上下分别是两个数组。
下面的推荐关键词是一加载出来之后出现的。
我已经做了点击下面的关键词能够上去,并且自身消失

$scope.addSgTag = function (item) {
        $scope.tags.push(item);
        $scope.suggestTags.splice($.inArray(item, $scope.suggestTags), 1)
    };

 $scope.suggestTags = [];
 $scope.tags = [];
 $http.get(url).success(function(data){
            $scope.suggestTags = data;
            console.log(data);
            angular.forEach(data, function(value) {
                console.log(value.name);
            });
        });

tags里面是我可以通过自己输入去改变这个数组的,我变化完之后如何与加载出来的【推荐关键词】进行对比,如果我输入了下面有的,下面就自动去除?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(3)
迷茫

业务就不帮你写了,只是帮你弄那个“去重”吧,实际上找到它在另一个数组中的位置。

直接用 https://developer.mozilla.org... 就好了,有了index,你可以加个字段管理展示或隐藏,或者直接splice删除也行

// 模仿你的地名map
var map = [{ name: '2333', id: '1' }, { name: '666', id: '2' }, { name: '777', id: '3' }, { name: '888', id: '4' }];

// 自己输入后会得到一个数组的最后一个元素
var target = { name: '777', id: '3' };

var index = map.findIndex(function(v){
  return target.id === v.id;
});

map.splice(index, 1);
伊谢尔伦

谢邀~

点击的时候remove掉dom,
arr.splice(1,1);//arguments[]: 下标(自己获取到index), 长度

左手右手慢动作

只是你输入并删除推荐的这部分逻辑:
-当你输入之后需要一个结束动作表明用户已经输入完成,一般有blur,回车,change和指定时间间隔。个人比较喜欢用回车。
-回车的事件里,在数组里查询输入的内容,如果存在就删除。
-当删除文本框的内容,直接把删除的选项push到推荐数组中。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!