【发布时间】:2017-08-04 10:49:59
【问题描述】:
我有一个 JSON 文件,我需要在其中访问其中一个值,该值是一个包含许多键和值的对象,这些键和值是进一步的对象。像这样:
"lineChart": {
"Fri Jul 28, 2017": {
"renewalFee_EUR": 1165,
"extensionFee_EUR": 0,
"renewalFee_USD": 5941.5,
"extensionFee_USD": 0,
"processingFee_USD": 25,
"expressFee_USD": 0,
"urgentFee_USD": 0,
"latePayPenalty_USD": 0,
"fxRate": 5.1,
"subTotal_USD": 5966.5
},
"Tue Aug 1, 2017": {
"renewalFee_EUR": 1165,
"extensionFee_EUR": 0,
"renewalFee_USD": 2411.55,
"extensionFee_USD": 0,
"processingFee_USD": 25,
"expressFee_USD": 0,
"urgentFee_USD": 0,
"latePayPenalty_USD": 0,
"fxRate": 2.07,
"subTotal_USD": 2436.55
}
}
我已经能够将键值(即Fri Jul 28, 2017)存储在一个数组中,该数组用于将数据传递到视图中的图表。这部分工作正常。
var caLine = vm.graph.lineChart;
// THIS STORES THE RETURNED VALUE(GRAPH DATA) FROM A REST REQUEST
//IN MY ROUTER FOLDER (USING ANGULARJS)
lineLabelArr = [];
for (var prop in caLine) {
if (caLine.hasOwnProperty(prop)) {
lineLabelArr.push(prop)
}
}
vm.labels = lineLabelArr; //VM.LABELS IS UED TO BIND DATA TO THE CHART'S DIRECTIVES
我只需要 JSON 文件中subTotal_USD 下的数据在我的图表中显示为数据。
问题
如何遍历lineChart 对象中的每个属性,从subTotal_USD 键中提取值,并将其存储在一个数组中,以便在图表中显示数据?我觉得我让这变得比需要的更复杂。
【问题讨论】:
-
您可以使用
for ... in循环吗? -
类似
lineLabelArr.map(prop => caLine[prop].subTotal_USD) ? -
你可以使用 angular.forEach docs.angularjs.org/api/ng/function/angular.forEach
-
谢谢。 @user3297291 就是这样。我之前确实尝试过,但它以未定义的形式返回,但它现在正在工作。如果你想留下答案,我很乐意接受它
-
很高兴我能帮上忙。我在答案中写下了一个衬里,并添加了另一种方法作为奖励。
标签: javascript angularjs arrays json