Tom*_*Tom 2 javascript ecmascript-6
假设我有以下数组:
let path = ['foo','bar']
Run Code Online (Sandbox Code Playgroud)
我有这个项目:
let item = {
faa: 'whatever',
foo: {
bar: 'hello there', //general kenobi
bor: 'nope'
}
}
Run Code Online (Sandbox Code Playgroud)
我想使用以下内容访问"你好":
item[path] or item.path or item[path.join(".")]
Run Code Online (Sandbox Code Playgroud)
你明白了,这是可行的,如果是的话,怎么样?(当然这个问题写的不起作用)
你可以做
let target = path.reduce((o, t)=> o ? o[t] : undefined, item)
Run Code Online (Sandbox Code Playgroud)
这种单行程旨在确保在没有匹配时不会出现任何错误:它只是返回undefined.
示范:
let item = {
faa: 'whatever',
foo: {
bar: 'hello there', //general kenobi
bor: 'nope'
}
}
let path = ['foo','bar']
let target = path.reduce((o, t)=> o ? o[t] : undefined, item)
console.log(target)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |