【发布时间】:2020-11-06 18:24:55
【问题描述】:
我无法根据列值对数组进行排序。我有一个二维数组:
var cl12 = [[9, 10.5], [10, 11.5], [12, 13.5], [12.5, 14.5], [14.5, 15], [16, 18], [16, 17]]
现在你可以在上面的数组中看到,最后一个和倒数第二个元素对于第 0 个索引具有相同的值,但是它们不是基于列排序的,因为 [16,18] 应该在 [16,17] 之后...现在我写了一个如下的for循环来得到一个完整的排序数组,
for(i=0;i<cl12.length;i++){
if((cl12[i][0]==cl12[i+1][0]) && (cl12[i][1]>cl12[i+1][1])){
var temp = cl12[i+1];
cl12[i+1]=cl12[i];
cl12[i] = temp ;
}
}
console.log(cl12)
但它在控制台上给出错误:未捕获的类型错误:无法读取未定义的属性“0”
【问题讨论】:
-
cl12[i + 1]在 i == cl12.length - 1 时尝试读取数组末尾
标签: javascript arrays algorithm sorting 2d