二维数组中单个数组的和
Sum of individual arrays inside two-dimensional array
当涉及到在二维数组中添加单个和时,我已经束手无策了。例如:
var arrArrays = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
function sumArray(numberArray) {
var sum = 0;
numberArray.forEach(function(a,b) {
sum = a + b;
});
return sum;
}
函数sumArray可以成功地将& &;返回常规(一维数组)的和,但当传递arrayarrays时,它返回一个由随机值组成的数组。
我需要它能够返回另一个数组中有多少数组的和。原因是我需要下面这个函数调用sumArray():
function sumSort(arrayOfArrays) {
arrayOfArrays.sort(function(a,b) {
var sumArray1 = sumArray(a);
var sumArray2 = sumArray(b);
if (sumArray1 < sumArray2) {
return -1;
} else {
return 0;
}
});
}
理论上,sumSort()将根据每个数组中的数字之和(从高到低降序)对数组进行排序。
任何提示都很棒。提前感谢!
这个方法允许你处理任何嵌套深度的数组。首先,将内部数组平面化,然后像往常一样对它们求和。如果你还想让它处理非嵌套数组,你可以在第一级添加一个检查,如这个问题所示。
var arrs = [[[[1]], [2, 3]], [4, 5, 6], [7, 8, 9]];
//https://stackoverflow.com/a/15030117/1470607
function flatten(arr) {
return arr.reduce(function(flat, arr) {
return flat.concat(Array.isArray(arr) ? flatten(arr) : arr);
}, []);
};
var sums = arrs.map(function(arr) {
return flatten(arr).reduce(function(sum, item) {
return sum + item;
});
}); //[6, 15, 24]
相关文章:
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- 数组在单个输入中返回
- 从数组/字符串中删除所有小数和单个数字
- 如何创建具有单个元素或元素数组的数组
- Google Web App 将单元素数组视为单个字符的数组
- 基于单个属性从数组中获取唯一对象
- 数组循环以获取单个值
- 使用jQuery deffered.resolveWith()在单个参数中传递数组
- 在 laravel 4 上使用循环将数据数组存储到单个数组中
- 将 CSS 类添加到数组中的单个元素
- 仅包含某些数组值的单个弹出窗口.JavaScript
- 在MongoDB中,从文档中获取单个字段数组的最简单方法是什么
- 来自单个请求的 ajax 请求数组
- 获取数组角度的单个属性
- 使用 lodash 是将数据从数组映射到单个数组的好方法
- 如何在单个语句中的 $$('selector') 数组上使用 PrototypeJS .wrap()
- 在javascript(Angularjs)中将对象数组转换为单个对象
- 更改 JS 数组中的单个对象会更改所有元素
- 从数组中获取所有单个单词
- 从 Web 服务返回单个 json 对象的数组