質問: [ ['あ0', 0], ['b', 0], ['c.txt', 1], ['た', 0], ['e', 0], ['ぜ.txt', 1], ['a', 0], // ['a.txt', 1], ['d', 0], ['あ', 0], ['c', 0], ['b.txt', 1], ]; ``` アドバイスお願いします。
回答: Array.prototype.sort()に渡している比較関数が間違っています。 ``` function(a, b) { return (a[1] - b[1]) || (a[0] > b[0]); } ``` ですが、2番目の値は減算で整数が返されますが、1番目の値については大小比較でbool値が返されてしまいます。 ``` function(a, b) { return (a[1] - b[1]) || (a[0] > b[0] ? 1 : a[0] < b[0] ? -1 : 0); } ``` 等、条件に合った整数を返すべきです。