私は以下のような目録を持っています。数値と文字列を含む2次元配列の並べ替え
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; ...' – AhmadWabbi
可能な代替:http://stackoverflow.com/questions/4907683/sort-a-two-dimensional-array- 1列目で –
あなたは明確ではない、最初の列または2番目に並べ替える。 – viveksinghggits