gpt4 book ai didi

javascript - 交换二维数组的 2 个元素

转载 作者:行者123 更新时间:2023-12-04 09:27:55 25 4
gpt4 key购买 nike

我无法根据列值对数组进行排序。我有一个二维数组:

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””

最佳答案

您正在将每个元素与索引处的元素进行比较,因此您应该只循环到比数组长度少 1 的位置。

for(i=0;i<cl12.length-1;i++){

var cl12 =  [[9, 10.5], [10, 11.5], [12, 13.5], [12.5, 14.5], [14.5, 15], [16, 18], [16, 17]]
for(i=0;i<cl12.length-1;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)

关于javascript - 交换二维数组的 2 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62945625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com