第一种:
/**
* @param options
* @param key
* @returns {*}
* @private
*/
function __value(options, key){
const keys = key.split('.')
let current = options
for (let i = 0; i < keys.length; i++) {
current = current[keys[i]]
}
return current;
}
const options = {
a:{
b:{
c: 'd'
}
}
}
console.log(__value(options, 'a.b.c'))
第二种:
/**
*
* @param options
* @param key
* @returns {*}
* @private
*/
function __value(options, key) {
return key.split('.').reduce((o, i) => {
if (o) return o[i]
}, options)
}
const options = {
a:{
b:{
c: 'd'
}
}
}
console.log(__value(options, 'a.b.c'))