一尘不染

动态地从JSON数组键值对中检索键-Javascript

json

我有一个问题想寻求您的专业知识。

这是我拥有的JSON数组:

[{"A":20,"B":32,"C":27,"D":30,"E":40}]

我想做的是从JSON数组而不是值中检索键(A,B,C,D,E)。我能够检索值,但不能检索键。

我正在使用它来动态检索值:

function calculateSum(jsonArray) {
    var result = 0;
    for (var i = jsonArray.length - 1;  i >= 0; --i)
    {
        var o = jsonArray[i];
        A = o.A;
        B = o.B;
        C = o.C;
        D = o.D;
        E = o.E;
        result = A + B + C + D + E;
        return result;
    }

    return result;
}

同样,我应该怎么做才能使用JavaScript 检索 密钥


阅读 200

收藏
2020-07-27

共1个答案

一尘不染

您是否按照标签所暗示的那样使用D3.js?因为在这种情况下,您可以使用d3.keys()

var data = [{"A":20,"B":32,"C":27,"D":30,"E":40}];
d3.keys(data[0]); // ["A", "B", "C", "D", "E"]

如果您想要所有值的总和,最好使用d3.values()d3.sum()

var data = [{"A":20,"B":32,"C":27,"D":30,"E":40}, {"F":50}];
// get total of all object totals
var total = d3.sum(data, function(d) {
    // get total of a single object's values
    return d3.sum(d3.values(d));
});
total; // 199
2020-07-27