javascript - 从 Json 数组中过滤值 (JavaScript)

标签 javascript arrays d3.js filter

所以我已经从 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/

相关文章:

javascript - $urlRouterProvider.when() 内的 Angular-UI Resolve Promise 对象

php - 是否可以在不循环的情况下检查一个值是否存在于充满对象的数组中?

java - 打印数组中从第 N 个索引开始的元素

java - 如何实现嵌套的 ArrayList?

javascript - d3.js 时间序列无限滚动

JavaScript 执行顺序问题

javascript - 将作为 URL 一部分的变量传递给脚本?

javascript - 渲染 D3.js 面积图时出现的问题

javascript - 使用 jQuery/JavaScript 将 Alpha channel 添加到背景颜色

d3.js - d3 : force directed graph: node filtering