【发布时间】:2016-05-10 08:18:15
【问题描述】:
我有一个如下所示的库存。
var arr1 = [
[21, "Bowling Ball"],
[2, "Dirty Sock"],
[1, "Hair Pin"],
[5, "Microphone"]
];
我想按字母顺序对库存进行排序。我尝试使用简单的冒泡排序技术来做到这一点。但它显示一个错误-“wrappedCompareFn 不是函数”。
function sort(arr1){
//console.log("works");
for(var i=0;i<arr1.length;i++){
for(var j=0;j<arr1.length;j++){
// console.log(arr1[j][1].localeCompare(arr1[i][1]));
if(arr1[j][1].localeCompare(arr1[i][1])<0){
var tmp=arr1[i][1];
arr1[i][1]=arr1[j][1];
arr1[j][1]=tmp;
}
}
}
return arr1;
}
我的代码有问题吗?还有没有更好的方法来对具有不同类型对象的多维数组进行排序??
【问题讨论】:
-
这不是冒泡排序。内循环的初始值应该是:
for (var j=i+1; ... -
你不清楚,要按第一列还是第二列排序..
标签: javascript arrays multidimensional-array