所以我已经从 D3 加载了一个 JSON 对象,现在想要从数组中过滤掉一些列。我唯一的问题是这样做:
Object.attribute;
没有返回我想要的。我的 JSON 对象的结构如下。它包含 1000 个对象,每个数组都包含其中的属性。我从 https://data.raleighnc.gov/resource/xce4-kemu.json 获取数据, 以供引用。
如果我这样做
Object[0].attribute;
它返回对象的实际值,例如“12”。我希望它返回该键所在的所有值
在 URL 中,您可以看到 JSON 的示例。例如,我想返回一个 JSON,其中仅存在 Issueddate_mth、statelicnum 和 constcompletedofficial 属性。
我尝试过的片段是:
var raleigh_data = "https://data.raleighnc.gov/resource/xce4-kemu.json";
d3.json(raleigh_data, function(error, data) {
var filtered_data = data.filter(function(d,i,e) {
return d.issueddate_mth;
});
}
最佳答案
var data = [your array of 1000 objects]
var filteredData = [];
data.forEach(function(item) {
if (item.issueddate_mth && item.statelicnum && item.constcompletedofficial) {
filteredData.push(item);
}
});
这将为您提供一个仅包含原始数组中具有指定属性的项目的数组。
此外,我不能 100% 确定您是否只想要这三个属性。如果是这样,您可以轻松地在 forEach 中推送
回调{issueddate_mth: item.issueddate_mth, statelicnum: item.statelicnum, constcompletedofficial: item.constcompletedofficial }
而不是 item
关于javascript - 从 Json 数组中过滤值 (JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39969558/