javascript - 验证二维数组每行长度相同的最快/最优雅的方法?

标签 javascript arrays matrix

假设我有一个二维数组:

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/

相关文章:

javascript - 自定义 OpenLayers 控件

javascript - 谷歌浏览器日期选择器事件

java - 如果 args[i] 的类型不是 Java 中预期的类型,如何返回错误消息?有 'type test'这个函数吗?

C - 位矩阵的位字段

java - 从 JAVA 中第一行指定矩阵大小的文件中读取矩阵

javascript - Promise.all 未按预期工作,忽略 Unresolved promise

javascript - 将数组转换为对象

javascript - 在 Google App 脚本中存储数组并将数组打印到 Google Sheets 列

c - 麻烦在c中声明一个全局字符串数组

r - 展开矩阵列表的维数