[英]Printing deepcopy of an object using custom function
我需要使用自定义 function 打印另一个 object 的深层副本 object 的元素。 我能够使用 JSON 解析/字符串化技巧创建深层副本,但无法实现打印 function。
var obj = {a:1,
b:{
a:2,
c:[1,2,3],
d:{
a:3
}
}
};
const mySnapShot = new Snapshot(object);
mySnapshot.print('a')// 1
.print('b.c') //[1,2,3]
.print('b.a') // 2
在打印方法中传递的 Arguments 是字符串。 Snapshot 是一个 class,其中包含用于深度复制和打印的方法。
您可以使用减少:
var obj = { a: 1, b: { a: 2, c: [1, 2, 3], d: { a: 3 } } }; function print(path) { const pathTokens = path.split('.'); const pathValue = pathTokens.reduce((subObj, pathToken) => { return subObj && subObj[pathToken] || null }, obj); return pathValue; } console.log(print('a')) // 1 console.log(print('b.c')) //[1,2,3] console.log(print('b.a')) // 2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.