【发布时间】:2017-09-06 08:06:29
【问题描述】:
我一直坚持在 javascript 中赋值的奇怪行为。
在这段代码中
state = Object.assign({}, state, {
[area]: Object.assign({}, state[area], {
[name] : Object.assign({}, state[area][name], {
selected: [value]
})
})
})
console.log(state) //state[area][name].selected is unchanged!
但如果我尝试控制台日志 Object.assign
console.log(Object.assign({}, state, {
[area]: Object.assign({}, state[area], {
[name] : Object.assign({}, state[area][name], {
selected: [value]
})
})
}));
//it returns object with value in obj[area][name].selected, as expected
我做错了什么?
【问题讨论】:
-
我在这里找不到问题,代码工作正常(请参阅jsbin.com/ceburo/edit?js,console)。问题一定出在其他地方。
-
console.log的有趣之处在于输出是 live。在最后一行尝试console.log(JSON.stringify(state, null, ' ')) -
感谢 cmets!我认为这个问题已经用尽了。我的问题不在于 console.log 。谢谢!
标签: javascript assign