React-Native - Object.assign子项更改

时间:2016-07-11 15:11:53

标签: javascript object react-native assign

如果这个问题仍然存在,但是我搜索了它并且我找不到解决方案。此外,我无法从Developer.Mozilla网站获得任何提示,其中描述了Objects.assign等。

  

问题:

     

如何更改对象的子项?完全按照下面描述的输出。

采样代码

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 乔纳森

2 个答案:

答案 0 :(得分:1)

首先,不要将Object用作变量名称..

好的,我们可以说对象现在是obj

不修改obj

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

或者只是,(修改obj

obj.test = newChildren

这是你在找什么?

答案 1 :(得分: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键。