Loda sh findKey () метод - PullRequest
       11

Loda sh findKey () метод

0 голосов
/ 24 апреля 2020

В качестве части задачи мне нужно самостоятельно реализовать метод .findKey (). Ниже предложено решение, однако я получаю ошибку «предикат не является функцией».

const _ = {
  findKey(object, predicate) {
    for (let key in object) {
      let value = object[key];
      let predicateReturnValue = predicate(value);
      if (predicateReturnValue) {
        return key;
      };
    };
    undefined
    return undefined;
  }
};

Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 24 апреля 2020

function findKey(object, predicate) {
    for (let key in object) {
        let value = object[key];
        let predicateReturnValue = predicate(value); 
        if (predicateReturnValue) {                   // just take the value
            return key;                               // return key
        }
    }
}


   const isEqual = a => b => a === b
    const object = { a: 'Apple', b: 'Beer', c: 'Cake' }
    
alert(findKey(object, isEqual('Apple')));
alert(findKey(object, isEqual('Cakes')));
...