我需要查看这种类型的数组是否已排序:
var grilla = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
我知道如何显示所有元素以及如何查看简单数组是否已排序,但不知道如何执行此操作。
我的“解决方案”不包括像
[ [1, 2, 3], [4, 5, 6], [8, 7, 9] ]
由于最后一个数组,完整的数组数组未排序,但我不知道如何到达最后一个数组以检查它是否已排序。
function chequearSiGano() {
for(var i=0;i<(grilla.length-1);i++) {
if (grilla[i][grilla.length-1] > grilla[i+1][0]) {
return false;
}
for(var j=0;j<(grilla.length-1);j++) {
if (grilla[i][j] > grilla[i][j+1]) {
return false;
}
}
}
return true;
}
最佳答案
为方便起见,将阵列展平
然后你可以使用你用于平面数组的代码,或者你甚至可以像下面这样
const checkIfSorted = array => {
var flat = array.flat();
var flatsorted = flat.slice().sort();
return flat.toString() === flatsorted.toString();
}
var grill = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log('grill sorted?', checkIfSorted(grill))
var grill2 = [
[1, 2, 4],
[3, 5, 6],
[7, 8, 9]
];
console.log('grill2 sorted?', checkIfSorted(grill2))
关于javascript - 检查数组数组是否已排序javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61741192/