최근에 eslint 규칙 no-param-reassign
을 추가했습니다. 그러나Array.prototype.reduce() 함수에서 eslint no-param-reassign 규칙을 처리하는 방법
, 나는이 (가) no-param-reassign
린터의 불만을 야기 각 콜백 반복에 (첫번째 콜백 함수의 ARG) 선수 accumulator
(같은 개체 (initialValue
같은 빈 개체), 나 자신 수정할 필요 찾기를 구축하기 위해 reduce
를 사용 사람은 그것을 기대할 것이다).
const newObject = ['a', 'b', 'c'].reduce((result, item, index) => {
result[item] = index; // <-- causes the no-param-reassign complaint
return result;
}, {});
accumulator
인수를 수정하지 않습니다 reduce
을 가진 객체를 구축하는 더 좋은 방법이 있나요?
아니면 reduce
콜백 함수에서 해당 줄의 linting 규칙을 비활성화해야합니까? 당신이 린터를 속여하려면
주를 마지막으로 object spread operator)를 사용하여 나에게 발생한 새로운 해답을 게시하려면이 질문을 다시 방문하고있어,이 특히입니다 : TRUE ' 규칙에. 기본적으로이 문제에 대해 불평하지 않습니다. 당신이 그 행동을 원하지 않는다면, 그것은 '거짓'으로 설정하는 것 같습니다. 또는'// eslint-disable-line no-param-reassign'으로 플래그를 지정하십시오. – loganfsmyth
좋은 점은 @loganfsmyth입니다. 나는 "소품"을 사실로 설정하면 우리가 원하는 것을 볼 수있는 재검토를 할 것입니다 ... – sfletche