1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 一个数组赋值给另一个数组

一个数组赋值给另一个数组

时间:2018-09-20 00:17:04

相关推荐

一个数组赋值给另一个数组

把一个数组赋值给另一个数组

JavaScript把一个数组赋值给另一个数组python把一个数组赋值给另一个数组

JavaScript把一个数组赋值给另一个数组

把数组map的内容全部赋值给另一个数组a,当一个数组a改变的时候,map也发生了变化,该如何解决?

var map = new Array("china","america","japan","canada");var a = map;a.unshift("aa");console.log(a);console.log(map);// a 结果[ "aa", "china", "america", "japan", "canada" ]//map结果[ "aa", "china", "america", "japan", "canada" ]

改变数组a,原来的数组map也发生了变化。这是因为JavaScript存储对象时存储的是地址,var a = map浅拷贝导致 map 和 a 指向同一块内存地址,所以产生这样的现象。

解决方法:深拷贝(slice、concat)

var map = new Array("china","america","japan","canada");var a = [].concat(map);//或者a = map.slice(0)效果相同a.unshift("aa");console.log(a);console.log(map);// a 结果[ "aa", "china", "america", "japan", "canada" ]//map结果[ "china", "america", "japan", "canada" ]

python把一个数组赋值给另一个数组

注:python中数组一般指list(列表)类型。

两个列表list1和list2,直接用等号赋值,list2修改后,list1也会被修改。

list1 = ['zz','age','6']list2 = list1list2[0] = 't'print(f'list1:{list1}\nlist2:{list2}')

运行结果:

list1:[‘t’, ‘age’, ‘6’]

list2:[‘t’, ‘age’, ‘6’]

想要不改变原列表,使用[:]或者.copy()

list1 = ['zz','age','6']list2 = list1[:] #list1.copy()有同样效果list2[0] = 't'print(f'list1:{list1}\nlist2:{list2}')

运行结果:

list1:[‘zz’, ‘age’, ‘6’]

list2:[‘t’, ‘age’, ‘6’]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。