javascript - 映射对象数组,然后使用过滤器删除重复项

标签 javascript arrays

所以我的问题是我是否有一个对象数组

var arr = [{"id":1, "image":"sport.jpg", "tag_name":"Sport","tag_type":"Takmicenje","my_feed":true, "my_favourites":true},
{"id":2, "image":"sport.jpg", "tag_name":"Fudbal","tag_type":"Takmicenje","my_feed":true, "my_favourites":true},
{"id":3,  "image":"sport.jpg","tag_name":"Premier League","tag_type":"Takmicenje","my_feed":false,"my_favourites":true},
{"id":4, "image":"sport.jpg", "tag_name":"La liga","tag_type":"Takmicenje","my_feed":true,"my_favourites":true},
{"id":5, "image":"sport.jpg", "tag_name":"Real Madrid","tag_type":"Fudabal","my_feed":true,"my_favourites":true},
{"id":6, "image":"sport.jpg","tag_name":"UEFA","tag_type":"Tim","my_feed":true,"my_favourites":true},
{"id":7,"image":"sport.jpg","tag_name":"Juve","tag_type":"Liga","my_feed":true,"my_favourites":false},
{"id":8,"image":"sport.jpg","tag_name":"Barca","tag_type":"Takmicenje","my_feed":false,"my_favourites":true},
{"id":9,"image":"sport.jpg","tag_name":"Sport","tag_type":"Fudbal","my_feed":true,"my_favourites":true}
]

我映射槽数组,然后过滤它以删除欺骗,(tag_type),但就是无法理解它。

var filtred = arr.map(function(item) { return item.tag_type;
  }).filter(function(filt,index) {
    return filt.indexOf(filt) == index;
});

过滤结果是[“Takmicenje”]

map 工作正常

["Takmicenje", "Takmicenje", "Takmicenje", "Takmicenje", "Fudabal", "Tim", "Liga", "Takmicenje", "Fudbal"]

过滤结果为

["Takmicenje"]

我想获取数组

['Takmicenje','Fudbal','Tim','Liga'];

最佳答案

正确使用过滤器:

var arr = [{"id":1, "image":"sport.jpg", "tag_name":"Sport","tag_type":"Takmicenje","my_feed":true, "my_favourites":true},
{"id":2, "image":"sport.jpg", "tag_name":"Fudbal","tag_type":"Takmicenje","my_feed":true, "my_favourites":true},
{"id":3,  "image":"sport.jpg","tag_name":"Premier League","tag_type":"Takmicenje","my_feed":false,"my_favourites":true},
{"id":4, "image":"sport.jpg", "tag_name":"La liga","tag_type":"Takmicenje","my_feed":true,"my_favourites":true},
{"id":5, "image":"sport.jpg", "tag_name":"Real Madrid","tag_type":"Fudabal","my_feed":true,"my_favourites":true},
{"id":6, "image":"sport.jpg","tag_name":"UEFA","tag_type":"Tim","my_feed":true,"my_favourites":true},
{"id":7,"image":"sport.jpg","tag_name":"Juve","tag_type":"Liga","my_feed":true,"my_favourites":false},
{"id":8,"image":"sport.jpg","tag_name":"Barca","tag_type":"Takmicenje","my_feed":false,"my_favourites":true},
{"id":9,"image":"sport.jpg","tag_name":"Sport","tag_type":"Fudbal","my_feed":true,"my_favourites":true}
];

var filtred = arr.map(function(item) { return item.tag_type;
  }).filter(function(filt, ind, currentArray) {
    return ind == currentArray.indexOf(filt);
});
console.log(filtred);

关于javascript - 映射对象数组,然后使用过滤器删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44210505/

相关文章:

javascript - 使用正则表达式仅在 JavaScript 中查找和替换完整单词

javascript - 我需要一个 JavaScript 数组来保存指向图像的链接,以便在图像源中工作和使用

arrays - Swift 为 InsertionSort 算法修改 Int 数组

c - 静态常量数组中的出站访问

php - 使用一到五个可变变量时未初始化的字符串偏移通知

javascript - 如何在运行时确定可注入(inject)的 Angular 服务?

javascript - 从 Koa.js 中的循环生成 Mongoose 结果

javascript - 单击 div 并在鼠标悬停时淡出

javascript - 自定义 jQuery totemticker 插件

arrays - 数组向量的内存布局是什么?