如何在地图中查找重复的标题值

时间:2016-02-25 10:41:55

标签: javascript

我是Javascript的新手,来自Java,这对我来说不太直观。

我想检查标题值的重复,并将重复的标题连接到生产者名称

我的想法是对值进行排序,然后检查每个值是否为复制

你能建议我如何实施这种解决方案吗?

decodeURIComponent(escape(myString))

谢谢

2 个答案:

答案 0 :(得分:0)

您可以测试项目是否与此功能有重复项,它使用过滤器查找相同的项目并检查长度是否大于1。



function haveDuplicates(itemKeys, itemsMap, itemKey) {
    var item = itemsMap[itemKey];
    var dups = itemKeys.filter(function(key) {
        return itemsMap[key] == item;
    });
    return dups.length > 1;
}
var itemsMap = {
  'foo': 'Lorem',
  'bar': 'Lorem',
  'baz': 'Ipsum',
  'quux': 'Dolor'
};
var output = document.getElementById('output');
var itemKeys = Object.keys(itemsMap);
itemKeys.map(function(key) {
  output.innerHTML += itemsMap[key] + ' ' + 
    (haveDuplicates(itemKeys, itemsMap, key) ? 'have' : 'don\'t have') + '\n';
});

<pre id="output"></pre>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

这就是我最终所做的事情,而且这项工作

        var duplicateMap = {};
        _.each(itemsMap, function(item) {
            var title = item.title.trim();
            if (duplicateMap[title]) {
                duplicateMap[title] = 2;
            }
            else {
                duplicateMap[title] = 1;
            }
        });