Массив из двух объектов, меняющих значения ключа - PullRequest
1 голос
/ 15 января 2020

У меня есть массив с двумя объектами, я хочу иметь возможность поменять значения ключей двух объектов ..

    "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 голосов
/ 15 января 2020

Если вы хотите поменять 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]
1 голос
/ 15 января 2020
const person1Id = people[0].slot_id

people[0].slot_id = people[1].slot_id
people[1].slot_id = person1Id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...