我使用javascript从firebase结果中获取响应数据。现在我有列表项目如
Luxury
Sedan
MPV
Hatchback
SUV
Luxury
Luxury
Luxury
Luxury
现在我想在HTML上显示此响应,但没有更多重复的名称。
我尝试使用
var uniqueNames = [];
$.each(names, function(i, el){
if($.inArray(el, uniqueNames) === -1) uniqueNames.push(el);
});
names
是我的列表,但它不是数组。我在这里错了,请帮我找到解决方法
您可以关注此图片的数据 link image response here
答案 0 :(得分:0)
Time to switch to Set from ES6
设置对象是值的集合。您可以按插入顺序遍历集合的元素。 Set中的值只能出现一次;它在Set的集合中是独一无二的
const uniq = new Set(['Luxury',
'Sedan',
'MPV',
'Hatchback',
'SUV',
'Luxury',
'Luxury',
'Luxury',
'Luxury'
])
for (let item of uniq.keys()) console.log(item)

答案 1 :(得分:0)
我不确定您的情况是什么问题,也许您可以提供数据库的响应数据以及您获得的最终结果。我们可能会发现问题所在。
但这是另一种方法。
var uniqueNames = names.filter(function(elem, index, self) {
return index == self.indexOf(elem);
})
希望有所帮助。