我有点问题。我创建一个带有日期键的对象,我有一个带有日期和值的另一个对象。我想得到我的第二个Object的值,并推入我的第一个Object。谢谢你的回答。
我的对象( obj )
2017-05-31 : null
2017-06-01 : null
2017-06-02 : null
2017-06-03 : null
2017-06-04 : null
2017-06-05 : null
2017-06-06 : null
我的对象有价值( getListDayInbound )
2017-05-31 : // Data
2017-06-03 : // Data
2017-06-06 : // Data
我的输出
2017-05-31 : // Data
2017-06-01 : null
2017-06-02 : null
2017-06-03 : // Data
2017-06-04 : null
2017-06-05 : null
2017-06-06 : // Data
我的代码
var dateInbound = '2017-06-03',
getListDayInbound = response[dateOutbound].solutions[selectedOutbound].inbounds; // Object with values
const obj = {}; // New Object
function addDays(date, days) {
var result = new Date(date);
result.setDate(result.getDate() + days);
result = moment(result).format('YYYY-MM-DD');
return result;
}
function removeDays(date, days) {
var result = new Date(date);
result.setDate(result.getDate() - days);
result = moment(result).format('YYYY-MM-DD');
return result;
}
// Add -/+ 3 days into Key Object
for (var i = 1; i <= 3; i++) {
obj[removeDays(dateInbound, i)] = null;
obj[addDays(dateInbound, i)] = null;
}
obj[dateInbound] = null;
答案 0 :(得分:1)
您可以使用Object.assign()
a = {
'2017-05-31' : null,
'2017-06-01' : null,
'2017-06-02' : null,
'2017-06-03' : null,
'2017-06-04' : null,
'2017-06-05' : null,
'2017-06-06' : null
};
b = {
'2017-05-31' : 'someData',
'2017-06-03' : 'someData',
'2017-06-06' : 'someData'
};
console.log(Object.assign(a, b))
答案 1 :(得分:0)
我认为,您可以直接使用Object.assign
,它会用新值替换值。
查看doc了解详情。
检查此代码段:
let obj1 = {a:1, b:2, c:3, d:4}
let obj2 = {b:5, d:10}
obj1 = Object.assign({}, obj1, obj2);
console.log(obj1);