gpt4 book ai didi

javascript - 如何使用 javascript 或 Angular 将一个数组的每个元素添加到其他数组中的相应元素

转载 作者:行者123 更新时间:2023-12-03 12:09:49 25 4
gpt4 key购买 nike

我需要按顺序将数组的元素添加在一起,与[ How can I add each element of one array to another one's corresponding element using a 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];
}
}

关于javascript - 如何使用 javascript 或 Angular 将一个数组的每个元素添加到其他数组中的相应元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25004122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com