javascript - 如何从列表中删除重复项

标签 javascript

我的网络服务中有这种列表。我想消除用户名重复:

Mylist = [{
    "username": "Plr1",
    "is_online": true,
    "email": null,
    "message": null,
    "direction": 1,
    "image_url": ""
}, {
    "username": "plr2",
    "is_online": false,
    "email": "",
    "message": null,
    "direction": 1,
    "image_url": ""
}, {
    "username": "plr1",
    "is_online": false,
    "email": "",
    "message": null,
    "direction": 1,
    "image_url": null
}];

是否有允许我删除重复值(其中一个元素=Plr1)的函数?

最佳答案

您可以使用 Array.filter

var Mylist = [{"username":"Plr1","is_online":true,"email":null,"message":null,"direction":1,"image_url":""},{"username":"plr2","is_online":false,"email":"","message":null,"direction":1,"image_url":""},{"username":"plr1","is_online":false,"email":"","message":null,"direction":1,"image_url":null} ];
var keys = [];
var newList = Mylist.filter(
    function(x){ 
        var val = x.username.toLowerCase();
        if (!keys[val]) {
            keys[val] = true;
            return true;
        }
        return false;
    }
);
keys = null;
console.log(newList);

它不适用于开箱即用的旧浏览器。如果您查看我在上面发布的链接,就会发现有一个 pollyfill 可以使它们正常工作。

关于javascript - 如何从列表中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16357312/

相关文章:

javascript - 阅读 Facebook 个人页面帖子

javascript - Angular 如何设置输入类型文件的样式

javascript - 警报后如何停止在表单中返回 "blank"?

php - JSON 到 Javascript 对象文字表示法?

javascript - jquery datepicker 和 asp.net c# 空值

javascript - jQuery 在 SPAN 或 P 标签中打印变量

javascript - 自动建议技术和选项

javascript - jQuery 中的 .not() 函数

javascript - 从生成的选择列表中获取值

Javascript 检查位是否已设置