Javascript 如何为具有多个元素的数组创建for循环?

Javascript 如何为具有多个元素的数组创建for循环?,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我是一名学习JavaScript的学生,所以我的知识并不复杂,所以请温柔一些。:) 我被告知: var region1 = [1540, 1130, 1580, 1105]; var region2 = [2010, 1168, 2305, 4102]; var region3 = [2450, 1847, 2710, 2391]; var region4 = [1845, 1491, 1284, 1575]; var region5 = [2120, 1767, 1599, 3888];

我是一名学习JavaScript的学生,所以我的知识并不复杂,所以请温柔一些。:)

我被告知:

var region1 = [1540, 1130, 1580, 1105];
var region2 = [2010, 1168, 2305, 4102];

var region3 = [2450, 1847, 2710, 2391];

var region4 = [1845, 1491, 1284, 1575];

var region5 = [2120, 1767, 1599, 3888];
括号中的每个数字代表四分之一的数字。我需要给出一个for循环,它总结了每个地区(整个地区的销售额)和每个季度(下一列的销售额)的销售额。我了解如何进行单项目数组。例如:

var sum=0;
for (var i = 0; i < totals.length; i++) {
sum += totals [i];
}
var总和=0;
对于(变量i=0;i

高级版谢谢。

你是说这样的吗

var quarterlyResultsObj = {};
for( var x = 0 ; x < region1.length ; x++ ){
    var thisQuarter = "quarter_" + x;
    var quarterResult = region1[x] + region2[x] + region3[x] + region4[x] + region5[x];  
    quarterlyResultsObj[ thisQuarter ] = quarterResult;
}

我不确定这是否是你想要的,但我想你想要的是所有五个地区四分之一的总销售额
var区域={
区域1:[154011301580105],
地区2:[201016823054102],
地区3:[2450184727102391],
地区4:[1845149112841575],
地区5:[2120176715993888]
};
var totalPerRegion=0,
四分之一=0,
四分之一=0,
四分之一=0,
四分之一=0;
用于(区域中的区域){
//计算每个季度的销售额;
四分之一以上=地区[地区][0];
四分之二以上=地区[地区][1];
四分之三以上=地区[地区][2];
四分之一以上=地区[地区][3];
}
console.log('quarter 1:',quarter 1);
console.log('quarter 2:',quarter 2);
console.log('quarter 3:',quarter 3);

console.log('第四季度:',第四季度)这里有两个函数可以实现我相信您所要求的功能。第一种方法将单个区域作为参数,并输出其数字之和

第二个参数有两个参数,一个是要求和的四分之一,另一个是包含所有区域的数组

var region1=[154011301580105];
var region2=[2010,116823054102];
var region3=[2450184727102391];
var region4=[1845149112841575];
var region5=[2120176715993888];
var allRegions=[region1,region2,region3,region4,region5];
函数getRegionTotal(区域){
var合计=0;
对于(变量i=0;iconsole.log(第二季度总计,第二季度总计)我认为首先应该获得数组的数组:

var region1 = [1540, 1130, 1580, 1105];
var region2 = [2010, 1168, 2305, 4102];
var region3 = [2450, 1847, 2710, 2391];
var region4 = [1845, 1491, 1284, 1575];
var region5 = [2120, 1767, 1599, 3888];
var rawArr = [];
rawArr.push(region1);
rawArr.push(region2);
rawArr.push(region3);
rawArr.push(region4);
rawArr.push(region5);
然后,您将能够处理跨列和向下列的添加:

var summRegion = rawArr.map((element) => element.reduce((a, b)=> a + b,0));
console.log(summRegion); // [ 5355, 9585, 9398, 6195, 9374 ]
var sumColumns = [0,0,0,0];

for (var i = 0; i < 4; i++)
    rawArr.forEach((element) => {sumColumns[i] += element[i]});

console.log(sumColumns); // [ 9965, 7403, 9478, 13061 ]
var summRegion=rawArr.map((元素)=>element.reduce((a,b)=>a+b,0));
console.log(summRegion);//[ 5355, 9585, 9398, 6195, 9374 ]
var-sumColumns=[0,0,0,0];
对于(变量i=0;i<4;i++)
forEach((element)=>{sumColumns[i]+=element[i]});
console.log(sumColumns);//[ 9965, 7403, 9478, 13061 ]

我包括了季度和地区的计算。 工作示例可在中找到

var区域=[
[1540, 1130, 1580, 1105],
[2010, 1168, 2305, 4102],
[2450, 1847, 2710, 2391],
[1845, 1491, 1284, 1575],
[2120, 1767, 1599, 3888]
],
countRegions=regions.length,
countQuarter=4;
函数SumQuarter(){
对于(var q=0;q
你没有完全解释你需要什么帮助,我觉得你可以做(跨列添加)很好,只需要帮助(跨列添加)。例如,我假设第一季度你想要
1540+2010+2450+1845+2120=9965
。如果是的话,请看@AdamAzad的答案。很抱歉,我没有更清楚地了解我在寻找什么,但是是的,我确实需要帮助添加专栏。非常感谢。
var summRegion = rawArr.map((element) => element.reduce((a, b)=> a + b,0));
console.log(summRegion); // [ 5355, 9585, 9398, 6195, 9374 ]
var sumColumns = [0,0,0,0];

for (var i = 0; i < 4; i++)
    rawArr.forEach((element) => {sumColumns[i] += element[i]});

console.log(sumColumns); // [ 9965, 7403, 9478, 13061 ]
var regions = [
    [1540, 1130, 1580, 1105],
    [2010, 1168, 2305, 4102],
    [2450, 1847, 2710, 2391],
    [1845, 1491, 1284, 1575],
    [2120, 1767, 1599, 3888]
  ],
  countRegions = regions.length,
  countQuarter = 4;

function SumQuarter() {
  for (var q = 0; q < countQuarter; q++) {
    var sumQuarter = 0;
    for (var r = 0; r < countRegions; r++) {
      sumQuarter = sumQuarter + regions[r][q];

    }
    console.log('quarter:' + (q + 1) + ' sum: ' + sumQuarter);
  }
}

function SumRegions() {

  for (var r = 0; r < countRegions; r++) {
    var sumRegions = 0;
    for (var q = 0; q < countQuarter; q++) {
      sumRegions += regions[r][q];
    }
    console.log('region:' + (r + 1) + ' sum: ' + sumRegions);

  }
}
SumQuarter();
SumRegions();