2017-12-18 17 views
0

내가이 객체 배열에 ID를 전달하는 데 노력하고 비활성화 :노 리턴 할당 할 때

const children = [{name: Jack, age: 8}, {name: Joe, age: 6}]; 
children.forEach((child) => (child.id = v4())); 

내가 eslint 오류 no-return-assign이가 계속 정말 (말장난 의도)

나는 나를 귀찮게한다 시도 :

children.forEach(child => child.id = v4()); 

children.forEach((child) => (child.id = v4())); 

children.forEach(child => (child.id = v4())); 

children.forEach((child) => { 
    return child.id = v4() 
}); 

없음 작업.

eslint를 비활성화해야합니까? 해결 방법이 있습니까?

+0

children.forEach(child => { child.id = v4(); }); 

또는 간단한 물품. id = v4()}) // return이 없다는 사실과()'대신 {}을 사용했음을 주목하십시오. – CRice

+0

너와 함께'함수 매개 변수의 속성에 할당 '자식'매개 변수를 다시 할당하지 않음 ' – user2456977

+1

이것은 함수 매개 변수를 변형시키는 것에 대해 불평하고있는 에스 클린 규칙입니다. 이 설정을 해제하거나 map을 사용하고 대신 배열의 새로운 사본을 생성해야합니다. 예 :'children = children.map (child => {return {... child, id : v4()} ;})' – CRice

답변

0

콜백 함수에서 아무 것도 반환하지 않습니다. `children.forEach (아이 => {아이 : 그냥 시도, 예를 들어, eslint 규칙을 해제 할 수 있습니다, 또는 과제를 반환하지 않는,

for (const child of children) { 
    child.id = v4(); 
} 
+0

첫 번째 예제는 다음과 같습니다. '함수 매개 변수의 속성에 할당'자식 'no-param-reassign' 두 번째 예제는 훌륭합니다. – user2456977