2016-07-11 8 views
0

sry, если этот вопрос все еще существует, но я его искал, и я не нашел решения. Также я не мог получить никакого намека на сайт Developer.Mozilla, где Objects.assign и т. Д. Хорошо описаны.React-Native - изменение объекта Object.assign

Вопрос:

Как я могу изменить детей объекта? Именно с выводами, которые я описал в следующем.

Sample-код

var obj= {test: [{a: 2}, {b: 3}]}; 
var newChildren = [{a: 3}, {b: 5}, {c: 1}]; 

//I read the obj key value by the following: 
var objKey = Object.entries(obj)[0][0] 

//Here i want to have some code to get the following result 
//My momentary regarding to @webdeb 

var output = Object.assign({}, {objKey: newChildren}) 

actual output: // {objKey: [{a: 3}, {b: 5}, {c: 1}]} 

wanted output: // {test: [{a: 3}, {b: 5}, {c: 1}]} 

У меня нет другого выбора, чтобы получить код в каком-то другом формате, так что «вход» необходим в том, как я описал. И мне нужно установить objKey как переменную, потому что у меня есть несколько ключей в моем коде, который я должен установить для нескольких детей. (Выполнение некоторых фильтров материал)

Спасибо за вашу помощь

BR Джонатан

ответ

1

Прежде всего, не следует использовать Object как имя переменной ..

Ok, позволяет сказать объект Теперь obj

Без модификации obj

var newObj = Object.assign({}, obj, {test: newChildren})

Или просто, (изменяет obj)

obj.test = newChildren

ли это то, что вы ищете?

+0

Hey webdeb. Спасибо за ваш быстрый ответ. Он работает почти так, как я хотел. Просто «тест» должен быть переменным. Я ОБНОВЛЯЛ вопрос о дальнейшей и подробной информации. И я отредактировал var Object :) –

1

После решения дал мне точный результат я хотел:

obj[objKey] = newChildren; 

console.log(obj) // {test: [{a: 3}, {b: 5}, {c: 1}]} 

Я принял это решение в связи с вопросом:

How can I add a key/value pair to a JavaScript object?

важность для меня, чтобы иметь object-key как Переменная. Описанное решение дает мне возможность добавить значение в more, а не только один ключ static.

+0

Да, так работает доступ к «переменному ключу» – webdeb

+0

В любом случае, спасибо за ваши данные :) Я не задал вопрос 100% pefect, может быть :) Я помечаю этот ответ как решение. –