[英]javascript (es6) return value of filter in forEach
我有如下功能。
如果过滤器的值是一个多于 4 的数组,我只想返回键。
例如const result = gethitedShips(); // result be 1 or 2
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;
});
};
您可以通过检查长度来过滤键
const getHitedShips = () => {
const { players } = this.props;
return Object
.keys(players)
.filter(key => players[key].ships.filter(ship => ship.health <= 0).length >= 5);
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.