У меня есть массив с двумя объектами, я хочу иметь возможность поменять значения ключей двух объектов ..
"people":[
{
"name":"bob",
"lastname": "johnson",
"slot_id": 1
},
{
"name":"terry",
"lastname": "lucas",
"slot_id": 2
},
]
Я хотел бы иметь возможность поменять местами два slot_id, как это ..
"people":[
{
"name":"bob",
"lastname": "johnson",
**"slot_id": 2**
},
{
"name":"terry",
"lastname": "lucas",
**"slot_id": 1**
},
]
заранее спасибо!
Всего 2 ответа
Если вы хотите поменять 2 значения, вам понадобится временная переменная, чтобы вы не потеряли значение при назначении нового:
const tmp = people[0].slot_id
people[0].slot_id = people[1].slot_id
people[1].slot_id = tmp
Существует также другая возможность, если вы не хотите использовать временную переменную:
people[0].slot_id += people[1].slot_id
people[1].slot_id = people[0].slot_id - people[1].slot_id
people[0].slot_id -= people[1].slot_id
Вы также можете использовать деструктуризацию массива (предложено @ ASDFGerte )
[people[0].slot_id, people[1].slot_id] = [people[1].slot_id, people[0].slot_id]
const person1Id = people[0].slot_id
people[0].slot_id = people[1].slot_id
people[1].slot_id = person1Id