Javascript 按整数大小排序嵌套数组

Javascript 按整数大小排序嵌套数组,javascript,arrays,sorting,Javascript,Arrays,Sorting,通过谷歌搜索,我发现这个函数可以很容易地按整数大小对数组进行排序,并在JSFIDLE中进行了测试,工作正常(控制台日志140000、104、99) 所以我尝试在一个解决方案中实现它,但不知怎么的,它无法工作。唯一的区别是,现在我有一个嵌套数组要处理。因此,我想循环遍历arr元素中嵌套的所有数组(例如largetsOfFour),并按大小对数组中的整数进行排序。有人能指出我做错了什么吗 function largestOfFour(arr) { for(var x=0; x<arr.le

通过谷歌搜索,我发现这个函数可以很容易地按整数大小对数组进行排序,并在JSFIDLE中进行了测试,工作正常(控制台日志140000、104、99)

所以我尝试在一个解决方案中实现它,但不知怎么的,它无法工作。唯一的区别是,现在我有一个嵌套数组要处理。因此,我想循环遍历arr元素中嵌套的所有数组(例如largetsOfFour),并按大小对数组中的整数进行排序。有人能指出我做错了什么吗

function largestOfFour(arr) {
  for(var x=0; x<arr.lenght; x++) {
    arr[x] = arr[x].sort(function(a,b) { return b - a; });
  }
  return arr;
}

largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
函数最大四(arr){

对于(var x=0;x有一个输入错误。它应该是
arr.length
,而不是
arr.lenght

由于
arr
中不存在名为
lenght
的此类属性,因此它返回
undefined

console.log([].lenght);
// undefined
未定义的
永远无法与数字进行比较。因此,当与
x
的初始值零进行比较时,它返回
false

console.log(0 < undefined);
// false

因此,
largestOfFour
中的循环永远不会执行,排序函数也不会执行。这就是数组根本不会排序的原因。

remplace arr.lenght by arr.length。请下次检查日志。:)
console.log(0 < undefined);
// false
console.log(+undefined);
// NaN
console.log(NaN === NaN);
// false