JS将对象的路径当做参数传递 函数接受参数后获取相应路径的值
程序员文章站
2022-05-09 23:13:10
...
objectUrlEval (data, type, result = '') {
// 此方法的用法:
// 若存在 此数据结构的数据 ps: a: { b: c: { d: { name: 'xx'}} }
// 调用此方法仅需 objectUrlEval(a, 'd.c.d.name') 即可返回 'xx'
// 若 objectUrlEval(a, 'd.c.d.name', 'yy') 可修改name的值为 'yy'
// 第一个参数是数据源 第二个参数是对象的路径 第三个若传则为此路径赋值
let temp = type.split('.')
let tempLength = temp.length
let tempA = data
for (let i = 0; i < tempLength; i++) {
if (typeof (tempA[temp[i]]) === 'object') {
tempA = tempA[temp[i]]; continue
}
if (i === tempLength - 1) {
console.log(tempA[temp[i]])
if (result) {
tempA[temp[i]] = result
// 如果想要监听数组变化用set
// Vue.set(tempA, temp[i], result)
break
} else {
return tempA[temp[i]]
}
}
}
},
上一篇: 操作系统修炼秘籍(1):秘籍简介
下一篇: 转PHP手册及PHP编程标准