消除JSON对象中的重复项

消除JSON对象中的重复项,第1张

消除JSON对象中的重复项 明显的方式

最明显的方法是使用

for
循环并遍历数组中的所有项目,并在每次想知道是否已经有特定项目时进行比较。琐碎但乏味,尤其是当您要进行很多比较时。

function contains(items, obj) {    var itemKey = null;    var objKey = obj.firstName + ";" + obj.lastName;    var result = false;    for(var i = 0; !result && i < arr.length; i++)    {        itemKey = items[i].firstName + ";" + items[i].lastName;        result = itemKey === objKey;    }    return result;};

每当您要搜索现有对象时:

contains(arr, newObj);
聪明的方式

此代码使用Javascript的功能,其原型可在某种关联的内存存储中用作数组。假设您的JSON项目位于

arr
变量中。定义您的比较键(例如,名字和姓氏):

var arr = ;var hash = (function() {    var keys = {};    return {        contains: function(key) { return keys[key] === true;        },        add: function(key) { if (keys[key] !== true) {     keys[key] = true; }        }    };})();var key = null;for (var i = 0; i < arr.length; i++){    key = arr[i].firstName + ";" + arr[i].lastName;    if (!hash.contains(key))    {        hash.add(key);    }}

找出数组中是否已经有一个项目非常简单:

hash.contains(key);

就是这样。比遍历整个数组快得多。特别是当它有很多物品时。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/4974652.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-14
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存