![](/img/trans.png)
[英]If my javascript array has values that have two elements how can I use one element without the other?
[英]How can I add each element of one array to corresponding elements in other arrays with javascript or angular
我需要按顺序将数组的元素添加在一起,这与[[ 如何使用ParallelStream将一个数组的每个元素添加到另一个数组的相应元素中? ,但我使用的是javascript和angular。 我的数组可以包含不超过31个(天)的任意数量的元素,但是在每个数据对象中,它们始终都是相同数量的元素。
$scope.test31days = {
"change_series": [
{ "data": [0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0,0],
"name": "EMERGENCY",
"color": "#904040"},
{ "data": [0,1,3,0,0,0,0,1,2,3,3,0,0,0,2,1,1,1,0,0,1,1,3,3,1,0,0,1,2,2,0],
"name": "MINOR",
"color": "#333"},
{ "data": [0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0],
"name": "MAJOR",
"color": "#666"}
],
"change_title": "CHANGES"
}
我的控制台输出告诉我,我在某种程度上正确地分隔了元素,但是当我使用if / else if语句运行它时,浏览器崩溃了,所以我知道我搞砸了。
$scope.getTotalChanges = function(){
var series = $scope.test31days.change_series;
var arry = [];
for(var i = 0; i < series.length; i++){
// console.log('change_series loop #', i);
// console.log('change_series.data length', series[i].data.length);
var seriesData = series[i].data;
// console.log('series[i].name', series[i].name)
// console.log('seriesData', seriesData)
for(var j = 0; j < seriesData.length; j++){
console.log('For inner #', j);
console.log('seriesData #', seriesData[j]);
if (j = 0) {
arry = seriesData;
} else if (j > 0) {
arry[j] += seriesData[j]
};
}
}
// return series;
console.log('arry ', arry);
return arry;
};
我的最终目标是为31天(天)提供一个数据数组
var series = $scope.test31days.change_series;
var dataLength = series[0].data.length;
var result = Array.apply(null, new Array(dataLength)).map(Number.prototype.valueOf,0); //initialize result array with zeros
for(var i = 0; i < series.length; i++) {
for(var j = 0; j < dataLength; j++) {
result[j] += series[i].data[j];
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.