javascript - angularjs数组去重
天蓬老师
天蓬老师 2017-04-11 10:23:25
[JavaScript讨论组]


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

$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), 长度

ringa_lee

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号