배열 (this.players
)에있는 모든 객체의 수를 가져 오려고합니다. 여기서 object.alive == true입니다.이것이 JS.map을 사용하는 올바른 방법입니까?
지금까지 내가 가진 : 죄와 같은 추한 보이지만, 작업 표시
return this.players.map(el => el.alive).reduce(function(acc, cur) {
if(acc === true) {
if(cur === true) {
acc = 1
} else {
acc = 0
}
}
return acc + ((cur) ? 1 : 0)
})
. 이 작업을 수행하는보다 강력한 방법이 있습니까?
반환'0' ['에 대한 :
또한, 대신 자신의
alive
속성에 매핑 플레이어, 단지 바로 내에서 속성이 콜백을 줄일 수 있다는 액세스 {alive : true}, {alive : false}]'. –'if (acc === true)'는 의미가 없습니다. 누적 기가 숫자라고 생각됩니다. 'reduce'에 시작 값으로'0'을 전달하십시오! – Bergi
첫 번째 반복에서는'acc'가 기본값으로 true가됩니다. 왜냐하면 필드 유형을 검사하기 때문에 부울 값을 갖기 때문입니다. 그래서 체크를 넣는다. – khany