Javascript分配数组到另一个数组的元素
问题描述:
我有一个存储到childrenID的父节点子节点的唯一ID列表。Javascript分配数组到另一个数组的元素
var childrenIDs=["8b69b08e-d75e-6ef6-2cf4-275ff130cd74","42325602-9312-3565-b7dc-37383ca53c17", "2c91dcd6-7436-eff5-393e-cea8cbef338c"]
我然后分配这些ID到另一阵列的所述第二元件
nodeArray[index].splice(0,1,childrenIDs);
当nodeArray [索引] [0]被输入到控制台时,右输出(包含所有ID的)被打印。但是,如果键入childrenIDs.length = 0以清除第一个数组,则调用nodeArray [index] [0]会生成空输出。看起来好像nodeArr [index] [0]几乎充当指向childrenID的指针,其方式是当清除childrenIDs时,nodeArray [index] [0]也是如此。
我需要能够重用childrenIDs。清除数组的方式有什么问题吗?有没有办法让我在清除childrenID之后保存nodeArray [index] [0]中的数据?
答
你能尝试使用这种说法?
nodeArray[index].splice(0,1,childrenIDs.slice(0));
答
而不是将该数组分配为孩子,您应该指定它的副本。
childrenIDs.slice(0)
应该是这样的,其中:
nodeArray[index].splice(0,1,childrenIDs.slice(0));
你可以尝试使用这种说法吗? nodeArray [指数] .splice(0,1,childrenIDs.slice(0)); – ashokd
我刚试过。有效!非常感谢你。请作为任何其他人遇到此问题的答案。 – kevbud007
添加为答案。 – ashokd