Я пытаюсь отсортировать массив без буквенного обозначения. В моем случае я хочу, чтобы порядок возвращаемых сообщений был ошибкой, предупреждением, а затем информацией. Читая об этом на W3, я нашел аналогичный пример ...
Они приводят этот пример с автомобилями, но также изменили его сообщения для моего варианта использования.
var message = [
{type:"Error", message:"This is an Error"},
{type:"Info", message:"This is an Info"},
{type:"Warning" message:"This is a Warning"}
];
function myFunction() {
message.sort(function(a, b){
var x = a.type.toLowerCase();
var y = b.type.toLowerCase();
if (x < y) {return -1;}
if (x > y) {return 1;}
return 0;
});
}
Я думал, что все дело в оценке значения, поэтому я подумал, что это может быть правильный способ сделать это, но он не дает мне ожидаемых результатов ...
function myFunction() {
message.sort(function(a, b){
var x = a.type.toLowerCase();
var y = b.type.toLowerCase();
if (x === 'error') {return 1;}
if (x === 'warning') {return 2;}
if (x === 'info') {return 3;}
return 0;
});
}