Javascript 从具有相同数据类型的现有阵列构建新阵列
我有这个阵列Javascript 从具有相同数据类型的现有阵列构建新阵列,javascript,jquery,Javascript,Jquery,我有这个阵列 per= { "advanced_reference_columns": [ 0 ] } 然后我使用“for in”创建另一个具有相同值的数组 for (var o in per) { snapshot_settings[o] = per[o]; } 但当我打印snapshot_设置时,它会以带双引号的字符串形式返回其值 "advanced_reference_columns": [ "0" ] 试试这样的 var new
per= { "advanced_reference_columns": [
0
]
}
然后我使用“for in”创建另一个具有相同值的数组
for (var o in per) {
snapshot_settings[o] = per[o];
}
但当我打印snapshot_设置时,它会以带双引号的字符串形式返回其值
"advanced_reference_columns": [
"0"
]
试试这样的
var newObject = jQuery.extend({}, per);
“我有这个数组”那不是数组。这是一个具有属性的对象,
advanced\u reference\u columns
。该属性的值是对数组的引用。是的,我错写了数组,它是一个对象。但如何解决这个问题。我定义了var snapshot_settings={};作为一个对象,“但当我打印快照_设置时,它会以带双引号的字符串形式返回其值”,该代码不应具有这种效果,并且(打开控制台以查看结果)。您的代码确实存在以下问题:per.advanced\u reference\u columns
和snapshot\u settings.advanced\u reference\u columns
最终都指向同一个数组。我已经检查了控制台,两者都不同,snapshot\u settings使用双引号作为字符串,per使用单引号作为整数值。@VipulSharma:No,它们都没有引号,因为值不是字符串。请参阅:我尝试了以下方法:snapshot_settings=$.extend({},per);但问题仍然存在