更改数组的值更改原始数组的JavaScript [英] Change the value of an array changes original array JavaScript

查看:109
本文介绍了更改数组的值更改原始数组的JavaScript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下code导致从ID这两个元素 0 设置为 - ,即使我希望只有一个被设置为 1 。我只是创建与labelArray的引用,或者是其他什么东西?

The following code causes both elements from id 0 to be set to -, even though I want only one to be set to -1. Am I just creating a reference to the labelArray, or is something else?

labelArray.sort(compare);
valueArray = labelArray;
valueArray[0] = '-1';
labelArray[0] = '-';

所有帮助AP preciated。

All help is appreciated.

推荐答案

是。无论 valueArray labelArray 引用相同的底层数组。:要进行复印,使用的片()

Yes. Both valueArray and labelArray reference the same underlying array. To make a copy, use slice():

valueArray = labelArray.slice(0);

请注意:切片()只复制1级深,这对于基本数组正常工作。如果数组包含复杂的对象,使用类似jQuery的的clone(),信用@乔纳森。

NOTE: Slice() only copies 1 level deep, which works fine for primitive arrays. If the array contains complex objects, use something like jQuery's clone(), credit @Jonathan.

这篇关于更改数组的值更改原始数组的JavaScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆