【发布时间】:2020-09-28 06:22:35
【问题描述】:
我有一个多维数组,我需要垂直计算字符数。按行计数没问题,但我不能像垂直那样迭代它。请给小费。
const arrayData = [
['a', 'b', 'c'],
['a', 'f', 'g'],
['b']
];
我的代码如下所示:
const countChars = (input, direction) => {
if (direction === 'row') {
return input.reduce((acc, curr) => {
acc[curr] = acc[curr] ? ++acc[curr] : 1;
return acc;
}, {});
}
if (direction === 'column') {
for (let row = 0; row < input.length; row++) {
for (let column = 0; column < input[row].length; column++) {
console.log(input[column][row]);
}
console.log('---');
}
}
}
但是对于列,我得到了这个结果:
a
a
b
---
b
f
undefined
---
c
所以我因为未定义而丢失了一个字符。
结果应该类似于列:
{ 'a': 2, 'b': 1 }
{ 'b': 1, 'f': 1 }
{ 'c': 1, 'g': 1 }
【问题讨论】:
-
请添加您尝试过的代码和想要的结果。
-
@NinaScholz 已编辑
标签: javascript arrays loops multidimensional-array count