Javascript 向JS多维对象添加新数据
我在reducer文件中的react redux应用程序中使用了一个对象Javascript 向JS多维对象添加新数据,javascript,object,Javascript,Object,我在reducer文件中的react redux应用程序中使用了一个对象 tradings: { 'buy': { data: [] }, 'sell': { data: [] }, 'total': { data: [] } }, 所以,每当我得到一个新的数据集,我想把它放入任何对象的数据数组中,假设我得到了buy和数
tradings: {
'buy': {
data: []
},
'sell': {
data: []
},
'total': {
data: []
}
},
所以,每当我得到一个新的数据集,我想把它放入任何对象的数据数组中,假设我得到了
buy
和数据:[time:234234,amount:0.0123]
。那么我的新tradings对象将如下所示:
tradings: {
'buy': {
data: [[time:234234, amount: 0.0123 ], ....]
},
'sell': {
data: []
},
'total': {
data: []
}
},
如何将数组导入对象中的数组?假设您有以下对象:
tradings = {
'buy': {
data: []
},
'sell': {
data: []
},
'total': {
data: []
}
}
您收到的数据是:
data = {buy: {time:234234, amount: 0.0123 }}
您首先需要抓取数据
对象中的键,然后将其推送到交易
对象中所需的数组,如下所示:
key = Object.keys(data)[0];
tradings[key].data.push(data[key]);
小提琴:
要将数组添加到该数组中,
或者在某处创建数组并通过javascript添加:
tradings["buy"].data = YOUR ARRAY HERE
array1.concat(array2)
?tradings.buy.data.push(你的数据)代码>或交易[key].data.push(你的数据)
其中键
是字符串var[时间:234234,金额:0.0123]
在JS中不是有效数组。如果您想要像{time:234234,amount:0.0123}
这样的键值对,那么它应该是一个对象。为什么不使用Array.push()
btw?可能使用switch/case
根据买入/卖出类型进行操作?push
在这里不能使用,除非您以前复制过,因为这个问题与您需要注意的redux相关mutablity@CodeManiac你说得对。也许OP可以用来复制对象,因为它包含基元值tradings.buy.data=[…tradings.buy.data,newData]
可能会有所帮助,从下一次开始?这是一个通用的解决方案,适用于实际存在密钥的所有情况。只要确保您的数据结构正确,这应该始终有效。检查我的小提琴。
tradings["buy"].data = YOUR ARRAY HERE