У меня есть массив объектов, где объект выглядит следующим образом (значения меняются):
{
stats: {
hp: 2,
mp: 0,
defence: 4,
agility: 11,
speed: 6,
strength: 31
}
}
Я хочу отсортировать их по убыванию по скорости, выполнив:
array.sort((a, b) => {
return b.stats.speed - a.stats.speed
})
Однако я получаю эту ошибку и не могу расшифровать, что происходит:
TypeError: Невозможно назначить только для чтения свойство '2' объекта '[массив объекта]'
Чтоя пропускаю?
Редактировать: Массив объекта в хранилище редуксов:
const enemyDefaultState = [
{
name: 'European Boy1',
stats: {
hp: 2,
mp: 0,
defence: 4,
agility: 11,
speed: 6,
strength: 31
}
},
{
name: 'European Boy2',
stats: {
hp: 2,
mp: 0,
defence: 4,
agility: 4,
speed: 2,
strength: 31
}
},
{
name: 'European Boy3',
stats: {
hp: 2,
mp: 0,
defence: 4,
agility: 7,
speed: 7,
strength: 31
}
},
]
Я импортирую массив и назначаю его переменной:
let enemies = getState().enemy;
if (enemies) {
//sort by speed stat
enemies.sort((a, b) => {
return b.stats.speed - a.stats.speed
})
}