[英]Set value in array to key in object reduce/return value inside object
下面應該放出“ Yuval”
console.log(pathFind(["book", "author", "name"], {
book: {
author: {
name: "Yuval"
}
}
}));
我嘗試編寫此函數,但它始終返回undefined
:
function pathFind(path, object) {
return path.reduce((accumulator, name) => {
if(accumulator && accumulator[name] != typeof 'object') {
accumulator[name]
} else {
undefined, object
}
})
}
我想念什么? (錯字?)
有沒有一種方法可以在此函數中結合使用遞歸和reduce? (即,如何為此進行遞歸?)
請嘗試以下操作:
var obj = { book: { author: { name: "Yuval" } } }; var path = ["book", "author", "name"]; function findPath(obj, path){ if(path.length === 0) return obj; return findPath(obj[path[0]], path.slice(1)); } console.log(findPath(obj,path));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.