Javascript JSON.stringify inside Object.assign创建多个属性
JSON stringify在将对象与object.assign一起使用时向对象添加其他属性 请你解释一下,为什么会发生这种情况,以及如何避免 例如:Javascript JSON.stringify inside Object.assign创建多个属性,javascript,json,Javascript,Json,JSON stringify在将对象与object.assign一起使用时向对象添加其他属性 请你解释一下,为什么会发生这种情况,以及如何避免 例如: 当Object.assign遇到一个iterable时,它将其视为一个数组,并将数字属性指定给目标对象: x=Object.assign({},'abc') console.log(x)当Object.assign遇到一个iterable时,它将其视为一个数组,并为目标对象分配数字属性: x=Object.assign({},'abc')
当
Object.assign
遇到一个iterable时,它将其视为一个数组,并将数字属性指定给目标对象:
x=Object.assign({},'abc')
console.log(x)
当Object.assign
遇到一个iterable时,它将其视为一个数组,并为目标对象分配数字属性:
x=Object.assign({},'abc')
console.log(x)
请添加您真正需要的内容。事实上,把一个数字串起来并用它作为某件事情的关键是毫无意义的。对象的键总是转换为字符串。我不想使用对象的数字,而是在广度优先搜索算法中使用它。数字仅为示例。如果要将对象用作键,则不应使用普通对象作为容器,而应使用贴图。请添加真正需要的内容。事实上,把一个数字串起来并用它作为某件事情的关键是毫无意义的。对象的键总是转换为字符串。我不想使用对象的数字,而是在广度优先搜索算法中使用它。数字只是示例。如果要将对象用作键,则不应使用普通对象作为容器,而应使用映射。
//////////////////Example without JSON////////////////////
let object = {}
object = Object.assign({}, object, object[1]=2);
console.log(object)
/////////////////////////////////////////////////////////
Output:
[object Object] {
1: 2
}
//////////////////Example with JSON/////////////////////
let objectNew = {}
let first = JSON.stringify(1);
let second = JSON.stringify(2);
objectNew = Object.assign({}, objectNew , objectNew[first]=second);
console.log(objectNew);
/////////////////////////////////////////////////////////
Output:
[object Object] {
0: "2",
1: "2"
}