gpt4 book ai didi

javascript - 完全基本的 Javascript 引用问题

转载 作者:数据小太阳 更新时间:2023-10-29 05:17:08 25 4
gpt4 key购买 nike

Javascript 控制台中的以下内容:

var a = {'foo': []};
var b = {};

for (var key in a) {
b[key] = a[key];
}

a['foo'].push(1);

console.log(b);

产量:

对象 foo=[1]

我想为 a 中的每个键按每个数组的 b 中的值进行复制。有没有更简单的方法?

最佳答案

您可以创建一个“克隆”函数,该函数基于原始 对象创建一个 对象constructor ,然后克隆原始对象属性,如果它们是对象的话:

function clone(obj){
if(typeof(obj) != 'object' && obj != null)
return obj; // return the value itself if isn't an object
// or null, since typeof null == 'object';

var temp = new obj.constructor();

for(var key in obj)
temp[key] = clone(obj[key]);
return temp;
}


var a = {'foo': []};
var b = clone(a);

a['foo'].push(1);

console.log(b); // Object foo=[0]

关于javascript - 完全基本的 Javascript 引用问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1615134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com