Я пытаюсь сортировать многомерный массив в Javascript. Я вижу много объяснений, как сортировать по номерам, но я не могу понять, как сортировать его по тексту.Сортировка многомерного массива по тексту
массив, который я хочу разобраться, выглядит следующим образом:
var blocks = [
{
"heading": ["2013-10-1", "Chris", "11"],
"content": "stuff 1"
},
{
"heading": ["2013-10-3", "Zoe", "14"],
"content": "stuff 2"
},
{
"heading": ["2013-10-2", "Petey", "12"],
"content": "stuff 3"
}
]
Я знаю, что могу разобраться в этом многомерный массив объектов, как так далее значений, которые являются числами:
blocks.sort(
function(a,b){
return a.heading[2] - b.heading[2];
}
)
Я не уверен, что функция, которую я передаю в метод сортировки, будет выглядеть, если бы я хотел отсортировать массив по первому или второму значению в массиве heading
, так как значение в индексе 0 является датой и значением в индексе 1 является текст.
Я попытался найти дату или текст, чтобы изменить число, а затем оценить его числовое значение, но я не смог найти способ сделать это (и не знаю, если это лучший способ о приближении этого). Какие-либо предложения?
Сортировка по тексту будет сортироваться в алфавитном порядке, ваша функция компаратора, которую вы передадите, будет выглядеть точно так же, как и для чисел. Какую ценность вы пытаетесь сортировать? Можете ли вы опубликовать код, который вы пробовали? –
Я пытаюсь сортировать по второму значению массива заголовков, поэтому он должен сортировать значения «Крис», «Зоя» и «Пети». Код сортировки блоков - это код, который я пытался сортировать. Он работает для чисел (например, 3-е значение в массиве заголовков), просто не для текста. –