Javascript 在不规则行长度的矩阵中迭代

Javascript 在不规则行长度的矩阵中迭代,javascript,matrix,iteration,Javascript,Matrix,Iteration,我有一个矩阵,其中行的长度不一定相同: 以下是视唱练耳形式的音乐符号 const注释=[ [‘do5’、‘mi5’], ['mi6'、'so6'、'ti6'、're7'], [‘so7’、‘ti7’、‘re8’、‘fa8’], [la3',do4',mi4'], [‘fa2’、‘la2’], ['re2'], ['ti1'、're2'、'fa2'] ]; 我有一个函数,可以将这些标记转换为等效的字母标记(例如:使用我的函数将fa2转换为F2) 我希望能够迭代这个矩阵,并返回转换后的矩阵,它应该

我有一个矩阵,其中行的长度不一定相同:

以下是视唱练耳形式的音乐符号

const注释=[
[‘do5’、‘mi5’],
['mi6'、'so6'、'ti6'、're7'],
[‘so7’、‘ti7’、‘re8’、‘fa8’],
[la3',do4',mi4'],
[‘fa2’、‘la2’],
['re2'],
['ti1'、're2'、'fa2']
];
我有一个函数,可以将这些标记转换为等效的字母标记(例如:使用我的函数将fa2转换为F2)

我希望能够迭代这个矩阵,并返回转换后的矩阵,它应该保持相同的维数

谢谢,
Nakul

以下是您可能想要的:

const注释=[
[‘do5’、‘mi5’],
['mi6'、'so6'、'ti6'、're7'],
[‘so7’、‘ti7’、‘re8’、‘fa8’],
[la3',do4',mi4'],
[‘fa2’、‘la2’],
['re2'],
['ti1'、're2'、'fa2']
];
//用您自己的转换器替换此功能
函数转换(注){
return note.toUpperCase();
}
对于(设i=0;i}
您可以使用新的
Array.prototype.flat()
函数,但是,如果您希望获得更广泛的支持(
.flat()
被Edge和IE忽略),那么我将使用两个
来实现..
循环

const arr=[
[‘do5’、‘mi5’],
['mi6'、'so6'、'ti6'、're7'],
[‘so7’、‘ti7’、‘re8’、‘fa8’],
[la3',do4',mi4'],
[‘fa2’、‘la2’],
['re2'],
['ti1'、're2'、'fa2']
];
//现代JavaScript
用于(阵列平面()的常数项){
控制台日志(项目);
}
console.log('---');
//更广泛支持的JavaScript
for(arr的常数子阵列){
for(子阵列的常量子项){
控制台日志(子项);
}

}
如果你有一个二维数组,你可以使用2
map()
s。
array.forEach()
2次你有没有已经尝试过的JavaScript?我们不知道你可能知道什么,也可能不知道什么。你只是改变了你的问题,说明你需要返回一个“相同大小的矩阵”。你这到底是什么意思?我道歉@LucioPaiva,我只是修改了我的问题,以便更好地解释我的意思。