Внесение изменений в объект

238
12 августа 2017, 05:07

Имеется объект:

sptn={"orders":[{"externalOrderId":19,"externalCustomerId":0,"status":"INITIALIZED","date":"2017-08-10 19:25:17","paymentMethod":"Credit Card","restoreUrl":"market.com","deliveryAddress":", , ","items":[{"externalItemId":"52","name":"\u0441\u043a\u0438\u0434\u043a\u04302","category":"Cameras","quantity":1,"cost":444,"url":"\/index.php?route=product\/product&product_id=52","imageUrl":"","description":"<p><br><\/p>"}]}]}

Необходимо добавить в него еще ключи; добавляю так:

sptn.orders =[{"ddd":44,"costin":444}] //стирается все элементы

Как можно добавить его, чтобы получить такую структуру?

sptn={"orders":[{"externalOrderId":19,"externalCustomerId":0,"ddd":44,"costin":444,"status":"INITIALIZED","date":"2017-08-10 19:25:17","paymentMethod":"Credit Card","restoreUrl":"market.com","deliveryAddress":", , ","items":[{"externalItemId":"52","name":"\u0441\u043a\u0438\u0434\u043a\u04302","category":"Cameras","quantity":1,"cost":444,"url":"\/index.php?route=product\/product&product_id=52","imageUrl":"","description":"<p><br><\/p>"}]}]}
Answer 1

Use the Push, Luke!

let obj = [1, 2]; 
console.info(obj); // 1, 2 
obj.push(3); 
console.info(obj); // 1, 2, 3

Если нужно изменить конкретный ключ массива и добавить в него свойства, то так:

let sptn = { 
    "orders": [{ 
        "externalOrderId": 19, 
        "externalCustomerId": 0, 
        "ddd": 44, 
        "costin": 444, 
        "status": "INITIALIZED", 
        "date": "2017-08-10 19:25:17", 
        "paymentMethod": "Credit Card", 
        "restoreUrl": "market.com", 
        "deliveryAddress": ", , ", 
        "items": [{ 
            "externalItemId": "52", 
            "name": "\u0441\u043a\u0438\u0434\u043a\u04302", 
            "category": "Cameras", 
            "quantity": 1, 
            "cost": 444, 
            "url": "\/index.php?route=product\/product&product_id=52", 
            "imageUrl": "", 
            "description": "<p><br><\/p>" 
        }] 
    }] 
}; 
 
sptn.orders[0].ddd = 44; 
sptn.orders[0].costin = 444; 
 
console.info(sptn);

READ ALSO
Получить возраст пользователя?

Получить возраст пользователя?

Нужно определить точный возраст пользователяпоэтому сначала перевожу все в миллисекунды

265
Не выходит вывести вложенный объект json

Не выходит вывести вложенный объект json

Не могу понять в чем проблемаНе могу вывести объект - пишет undefined

361
Заполнение 2х пунктов одновременно (form)

Заполнение 2х пунктов одновременно (form)

Есть 2 формы на одной странице , есть много повторяющихся пунктов , можно как то на JS сделать , что бы одинаковые заполнялись одновременно или...

283
Ошибка TypeError: The super constructor to `inherits` must have a prototype

Ошибка TypeError: The super constructor to `inherits` must have a prototype

Доброго времени сутокУже долгое время я пытаюсь запустить скрипт, перепробовал много разных способов, но всё напрасно

376