感谢各位,还是json好用
function copyObject(obj) {
return JSON.parse(JSON.stringify(obj));
}
|
1
两种办法
json.parse(json.stringify({})) Object.assign({},原 object) |
|
2
var obj2 = Object.create(obj1);
这样也可以,虽然不算是复制了 |
|
3
Object.assign 貌似是浅拷,npm 上有递归深拷的包,当然没有 function 的时候最好的就是先 stringify 再 parse
|
|
crysislinuxMay 13, 2017 via Android
4
修改的时候就全用 assign,slice 之类的不改变原 object 的方式
|
|
5
|
|
SivanMay 13, 2017
6
|
|
gzlockMay 13, 2017
7
|
|
SourceManMay 13, 2017 via iPhone
8
json 性能有点差
|
|
crysislinuxMay 13, 2017 via Android
9
@ioioioioioioi 有专门的包解决这个问题。大概是叫 immutability-helper 吧,最早是 react 的包,独立出来了
|
|
ruanyu1May 13, 2017
10
o2 = {...o1}
|
|
sekiMay 13, 2017
11
如果是单纯数据的话序列化和反序列化也足够了,lodash 也有 clone 方法
vue 中的 immutability 的重要性倒不是这么高 |
|
huihuimoeMay 13, 2017 via Android
12
|
|
wangjieMay 13, 2017
13
lodash +1
|