// 实现一个 get 函数,get(obj, chain, defaultVal)
// 举例:
const obj = {
a: {
b: [
{
c: 1
}
]
}
}
get(obj, "a.b[0].c", 0) // 输出 1
get(obj, "a.b.c", 0) // 输出 0
Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.
- const obj = {
- a: {
- b: [
- {
- c: 1,
- },
- ],
- },
- };
- function get(obj, chain, defaultVal) {
- let ary = chain.replace(/\\.|\\[|\\]/g,"#").split('#').filter(item=> item != '');
- let value = obj;
- for(let i =0; i< ary.length; i++) {
- value = value[ary[i]];
- }
- console.log(value || defaultVal);
- }
-
- get(obj, 'a.b[0].c', 0); // 输出 1
- get(obj, 'a.b.c', 0); // 输出 0
💡 未做异常处理,请注意;