me_*_*jay 2 javascript arrays splice
我有一个阵列说
var list = ["first", "second"];
Run Code Online (Sandbox Code Playgroud)
现在我将列表分配给其他变量说
var temp = list;
Run Code Online (Sandbox Code Playgroud)
现在,当我使用拼接的名单像
list.splice(0,1);
Run Code Online (Sandbox Code Playgroud)
现在,当我检查它显示的列表的值时
list = ["second"]
Run Code Online (Sandbox Code Playgroud)
当我检查temp的值时,它说
temp = ["second"]
Run Code Online (Sandbox Code Playgroud)
我想知道为什么会这样?为什么temp的值会改变?
当你不喜欢的任务var temp = list,你要创建一个参考temp来list.因此,由于splice更改list就地排列,您也在改变temp
使用slice代替返回数组的副本,就像这样
var temp = list.slice();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3657 次 |
| 最近记录: |