我实现了一个下拉列表,其中列表来自 JSON 文件,但 JSON 具有重复值。我怎样才能获得该下拉列表中的唯一值?这是我的代码:
$(document).ready(function() {
$.getJSON("data.json",function(obj) {
$.each(obj, function(key, value){
$("#dropdown1").append("<option value=" + key + ">" + value.name + "</option>");
});
});
});
我的 JSON 文件如下所示:
[{
"name": "abc1",
"date": 1459461600000
}, {
"name": "abc1",
"date": 1459461600000
}, {
"name": "abc1",
"date": 1459461600000
}, {
"name": "syn2",
"date": 1459461600000
}, {
"name": "syn2",
"date": 1458834026000
}];
在第一个下拉列表中,我现在获得了 5 个值,abc1
3 次,syn2
2 次。我只想获取 abc1
和 syn2
一次。请帮忙!
最佳答案
您可以通过将已添加到选择的名称存储在数组中来实现此目的,并在添加下一个名称之前检查该数组。像这样的事情:
var usedNames = [];
$.each(obj, function(key, value) {
if (usedNames.indexOf(value.name) == -1) {
$("#dropdown1").append("<option value=" + key + ">" + value.name + "</option>");
usedNames.push(value.name);
}
});
您可以对对象数组进行重复数据删除,但是当您唯一的要求是在一个循环中获取单个属性时,这似乎有些过分了。
关于jquery - 如何在下拉列表中获得不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36469696/