1. 순수 배열일때 forEach 사용
let numbers = [1234,123,41,3,2,41324,1234];
numbers.forEach( (item) => { console.log(item); } );
=> 잘됨
2. 요소가 객체인 배열일때 find 사용
let users = [
{name:"nomuhyun", birth:1946},
{name:"kimdaejung", birth:1924},
];
users.find( item => item.birth === 1946);
=> 잘됨. 배열의 요소를 반환
Q. 근데 아래처럼 중괄호 쓰면 왜 안됨? find 안의 파라미터는 함수 아님?(콜백함수..?)
users.find( (item) => {item.birth === 1946} );
=> 안됨. undefined 반환.
find에 중괄호 넣을거면 리턴으로 넘겨줘야됨. 중괄호를 그냥 괄호로 하면됨
형 ㄳㄳㄳ
Return 생략이니까 Lodash가 좋음데 mz ㅅㄲ들땜시 못 쓰노
ㄳㄳ mz랑 언어랑 관련이..?
users.find( (item) => item.birth === 1946 ); users.find( (item) => {return item.birth === 1946} );
users.find( (item) => {item.birth = 1946} ); 이렇게 하면 users의 모든 item.birth에 1946 값을 대입해 주게 됨. find 동작 자체가 true 가 나오기 전까지 모든 배열의 요소들을 순회하기 때문임
와 형 상세한 답변 너무나 ㄳㄳ 좋은 하루 되세요!
users.find( (item) => {item.birth = 1946} ); 이게 어떻게 해석되냐면 user.find((item)=>{}); 로 해석되는거랑 똑같은거임
이건 js문법관련된건데 더 궁금하면 arrow 함수에 대해서 알아보면되고.. 님이 말한 효과를 가져가려면 위 121.129님이 잘 설명했으니 두가지로 치환해서 보면되고
형 상세한 답변 노무노무 ㄳㄳ 좋은 하루!!! arrow 찾아봐야겠다 ㅋㅋ ㄳㄳ
화살표 중괄호는 return을 넣어줘야함 중괄호없는건 묵시적인 return을 의미함
형 ㄳㄳ ㅎㅎ 이해함