Я хотел бы отсортировать массив со строками в алфавитном порядке (независимо от заглавных или нижних букв).
Например, B, C, A должен стать A, B, C. < Бр /> Но поскольку .sort чувствителен к регистру (что-то с ASCII) он становится A, C, B < Бр />jquery .sort case sensitive
var myArray = [ 'b', 'A', 'C' ];
myArray.sort();
console.log(myArray);
Ссылка на скрипку: http://jsfiddle.net/x93N8/
Как это исправить?
Это противоречит спецификациям, в которых говорится, что функция сортировки должна возвращать больше нуля, нулевое значение или меньшее, чем нулевое значение, в зависимости от сравнения. ИМО мы не должны советовать людям создавать ленивые реализации, подобные этому. –
@MartinJespersen: +1 к вашему комментарию. (Я также процитировал некоторые спецификации здесь, но, видимо, вы сделали то же самое в своем ответе ниже, так что +1 к вашему ответу :)) – DCoder