У меня есть функция, которая urlScores
возвращает массив объектов в видеСортировка объектов в массиве в Javascript
[{"url":"facebook","score":2},{"url":"reddit","score":1},{"url":"stackoverflow","score":3}]
Я попросил, чтобы отсортировать этот массив в отношении его счета с помощью пузырьковой сортировки.
Что я пробовал делать, это создание функции сортировки пузырьков, которая возвращает объект, возвращаемый с urlScores
, и сортирует его.
function sort(object)
{
for(var i= 0; i < object.length; i++){
if (object[i].score > object[i+1].score) {
var temp = object[i]
object[i]=object[i+1]
object[i+1]=temp
}
}
}
И функция, которая должна вызываться для сортировки массива выглядит следующим образом: Это не похоже
function rankedScores(web,pattern)
{
return (sort(urlScores(web,pattern)))
}
это работает, я столкнулся с TypeError: object[(i + 1)] is undefined
Любая помощь приветствуется
Когда вы говорите [я] .. Что такое? – Samay
Ошибка, вызванная тем, что вы прошли индекс, вам нужно проверить индекс последнего элемента. Массив работает с индексом -1 от 0,1, n – karman
Samay, отредактировал его сообщение, спасибо. – Pete