string.trim()
-string의 양 끝 공백을 제거한 새로운 문자열을 반환한다
-원래 문자열을 바꾸지 않는다
참고) developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/Trim
arr.reduce(callback[, initialValue])
-callback : 배열의 각 요소에 실행할 함수
-initialValue : 초기값 / 설정하지 않으면 배열의 첫 번째 요소를 사용한다
-반환값 : 누적 계산의 결과 값
-callback 함수의 인수들
1) accumulator : 콜백의 반환값 누적
2) currentValue : 처리할 현재 요소
3) currentIndex (Optional): 처리할 현재 요소의 인덱스
4) array (Optional): reduce()를 호출한 배열
** 최초 호출시 reduce에 initialValue에 따라 1), 2) 바뀜
initialValue | accumulator | currentValue |
제공됨 | === initialValue | 배열의 첫 번째 값 arr[0] |
제공되지 않음 | 배열의 첫 번째 값 arr[0] | 배열의 두 번째 값 arr[1] |
**받아온 검색 결과 data를 list에 추가할 때 사용함
initialValue가 제공되었으므로 html의 초기값은 '<ul>'이고, 배열의 첫 번째 값부터 시작된다
참고) developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
배열과 유사배열
배열(array) : 한 개의 변수에 여러 개의 값을 순차적으로 적용할 때 사용
유사배열(array-like object): 여러 값이 []으로 감싸져 있지만 배열이 아닌 것들
유사배열의 조건
1) 반드시 length가 있어야 한다. 없으면 유사배열로 인식하지 않는다.
2) index번호가 0번부터 시작해 1씩 증가해야 한다.(필수는 아님)
유사배열을 구분하는 방법
-typeof 는 array, object 둘 다 'object'로 나온다 ('array'자체가 존재X)
-Array.isArray()로 알아보면 true/false로 구분가능
유사배열을 구분해야 하는 이유
-배열의 메서드를 사용할 수 없다 (forEach 등)
-사용하기 위해 Array.from으로 배열로 바꿔주면 메서드를 사용할 수 있다
querySelectorAll로 선택한 li NodeList는 유사배열이다.
Array.from을 거쳐 array로 만든 후 forEach로 각 li에 EvenListener를 달아줄 수 있다
참고) www.zerocho.com/category/JavaScript/post/5af6f9e707d77a001bb579d2
arr.forEach(callback(currentValue)[, thisArg])
-주어진 callback 함수를 배열 요소 각각에 대해 실행함
-callback : 각 요소에 대해 실행할 함수
-thisArg(optional) : callback을 실행할 때 this로 사용할 값
callback 함수의 요소
1) currentValue : 처리할 현재 요소
2) index(optional) : 처리할 현재 요소의 인덱스
3) array(optional) : forEach()를 호출한 배열
-forEach()는 배열을 변형하지 않지만 callback이 변형할 수 있다.
-중간에 멈출 수 없다. 멈추는 경우 다른 메서드를 사용하는 것이 좋다(for, for...in 등)
참고) developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
'TIL' 카테고리의 다른 글
2021.01.28 (0) | 2021.01.28 |
---|---|
2021.01.25 (0) | 2021.01.25 |
2021.01.20 (0) | 2021.01.20 |
2020.09.16 (0) | 2020.09.17 |
2020.09.14 (0) | 2020.09.16 |