以下代码会将ID为0
的两个元素设置为-
,即使我只希望将其中一个设置为-1
。我只是创建了对labelArray的引用,还是其他什么?
labelArray.sort(compare);
valueArray = labelArray;
valueArray[0] = '-1';
labelArray[0] = '-';
感谢所有帮助。
答案 0 :(得分:9)
是。 valueArray
和labelArray
都引用相同的基础数组。要制作副本,请使用slice():
valueArray = labelArray.slice(0);
注意:Slice()仅复制1级深度,适用于原始数组。如果数组包含复杂对象,请使用类似jQuery的clone(),@ @Jonathan。
答案 1 :(得分:2)
我只是创建了对labelArray [...]的引用吗?
是的,确切地说。 valueArray
和labelArray
仍然标识相同的对象,但尚未复制。
答案 2 :(得分:1)
valueArray
只是对labelArray
的引用。
您要做的是克隆数组。您可以使用jQuery.clone()或类似的克隆函数来执行此操作。