复制变量 node.js
copying variables node.js
我有这部分代码
console.log(b);
let c = b.substr(0);
console.log(b[b.length - 1] + ' ' + c[Math.floor(c.length / 2)]);
c[Math.floor(c.length / 2)] = b[b.length - 1];
console.log(b[b.length - 1] + ' ' + c[Math.floor(c.length / 2)]);
//some code changing c
console.log(c);
而且 c 和 b 似乎是内存的同一部分,因为 console.log(c);
和 console.log(b);
给出相同的结果,另外两个 console.logs 给出相同的结果,当第二个显然应该给出两个相同的值(它给出不同的值)。如何正确地复制变量的值而不像 JSON.parse(JSON.stringify(b))
这样奇怪?在 JS 中是否有节省时间和内存的方法来做到这一点?
substr函数returns一个新的String(新对象),因此c和b不是同一个对象。
此外,通过为某个索引分配不同的字符来更改字符串不起作用,因为它不会更改原始对象。
如果您要做的是替换特定索引处的字符,这里有一个有用的 post:
How do I replace a character at a particular index in JavaScript?
我有这部分代码
console.log(b);
let c = b.substr(0);
console.log(b[b.length - 1] + ' ' + c[Math.floor(c.length / 2)]);
c[Math.floor(c.length / 2)] = b[b.length - 1];
console.log(b[b.length - 1] + ' ' + c[Math.floor(c.length / 2)]);
//some code changing c
console.log(c);
而且 c 和 b 似乎是内存的同一部分,因为 console.log(c);
和 console.log(b);
给出相同的结果,另外两个 console.logs 给出相同的结果,当第二个显然应该给出两个相同的值(它给出不同的值)。如何正确地复制变量的值而不像 JSON.parse(JSON.stringify(b))
这样奇怪?在 JS 中是否有节省时间和内存的方法来做到这一点?
substr函数returns一个新的String(新对象),因此c和b不是同一个对象。
此外,通过为某个索引分配不同的字符来更改字符串不起作用,因为它不会更改原始对象。
如果您要做的是替换特定索引处的字符,这里有一个有用的 post: How do I replace a character at a particular index in JavaScript?