我正在尝试编写一个返回另一个函数的函数。我的目标是编写一个函数,它接受一个对象并返回另一个函数" search"。当我用键调用搜索功能时,我想从第一个函数中给出的对象返回该键的值。
propertyOf = function(object) {
return search = function (key) {
for (key in object)
if (key === object.property){
return object[property]
}
}
}
说我有一个对象:
var me = {name: "Bob", age: 87}
如果我拨打propertyOf (me)
,我会将[功能:搜索]作为结果。当我拨打search (age)
时,我收到了未定义搜索的错误。我怎么称呼内部'使用键功能,同时仍然引用我想要搜索的对象?
答案 0 :(得分:1)
考虑尝试这个:
let bob = {
name: 'Bob',
age: 87
},
searchBob;
propertyOf = object => {
return propName => {
for (let key in object) {
if(key === propName) return object[key]
}
}
}
searchBob = propertyOf(bob);
// Call it like this:
console.log(searchBob('age')); // 87