javascript (es6) возвращает значение фильтра в forEach - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть функция, как показано ниже.

Если значение фильтра - массив с более чем 4, я хочу вернуть только ключ.

Например const result = gethitedShips(); // result be 1 or 2 но я получаю undefined

Я запутался, куда и что возвращать

    getHitShips = () => {
    const { players } = this.props;
    return Object.keys(players).forEach(key => {
      const hitShips = players[key].ships.filter(ship => ship.health <= 0);
      if (hitShips.length >= 5) return key;
      return null;
    });
  };

1 Ответ

0 голосов
/ 05 сентября 2018

Вы можете отфильтровать ключи, проверив длину

const getHitedShips = () => {
    const { players } = this.props;
    return Object
        .keys(players)
        .filter(key => players[key].ships.filter(ship => ship.health <= 0).length >= 5);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...