假设我有一个二维数组:
const matrixRegular = [
['a', 'b', 'c'],
['e', 'f', 'g'],
];
假设我想验证这个矩阵中的每一行都具有相同的长度,所以上面的例子是一个有效的矩阵,但下面的例子不是:
const matrixIrregular = [
['a', 'b', 'c'],
['e', 'f']
];
什么是干净/优雅的方式?这是我的单线:
const isRegularMatrix = matrix => new Set(data.map(row => row.length)).size === 1
将矩阵转换为只有行长的数组,然后使用 Set
确保每个元素都是重复的(相同长度),因此它的大小为 1。
最佳答案
您可以使用 every()
并将每个数组的 length
与第一个数组的长度进行比较。
const isRegularMatrix = matrix => matrix.every(x => x.length === matrix[0].length)
关于javascript - 验证二维数组每行长度相同的最快/最优雅的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56707259/