TIL 6 | Javascript_객체 : 배열(3)
1669 단어 JavaScriptJavaScript
3. 객체 (배열, 함수, 객체 리터럴)
7) 배열 응용 퀴즈 시간
Quiz>
다음 배열에서 '라'를 모두 제거하세요. indexOf 와 Splice를 사용하세요.
const array = ['가', '라', '다', '라', '마', '라' ];
(*'모두'라고 나오면 보통 반복문을 써야 한다.
또한 프로그램은 한번에 하나씩 찾아서 제거해 줄 수 있다.)
array.indexOf('라')
> 1
array.splice(1,1)
> [" 라"]
array
> (5) ['가', '다', '라', '마', '라' ]
array.indexOf('라')
> 2
array.splice(2,1)
> [" 라"]
array
> (4) ['가', '다', '마', '라' ]
array.indexOf('라')
> 3
array.splice(3,1)
> [" 라"]
array
> (5) ['가', '다', '마']
array.indexOf('라')
> -1
*-1이 나오는 것은 '라'가 array 상단에 해당 값이 없기 때문이다.
반복문을 사용하려면,
const array = ['가', '라', '다', '라', '마', '라' ];
let index = array.indexOf('라');
while (index> -1) {
array.splice(index, 1);
index = array.indexOf('라'); // ***이게 없으면 무한 반복문이 된다.
저 부분이 없다면 index는 계속 1일 것이고 조건식이 계속 true가 돼서 무한 반복된다. 인덱스 1의 자리에 오게 된 '라'가 아닌 요소까지 지워짐
}
QUIZ>
const arra = [1, 2, 3, 4, 5]
arr.indexOf(1) // 0 번째 index
0 // 값이 0으로 나옴. *if문에서 'null', 'false', 0, 'Nan', 'defined', 빈문자열은 false로 나옴!
if (arr.indexOf(1)) {
console.log('1 찾았다');
} else {
console.log('1 못 찾았다');
}
값이 1 못찾았다
우리가 예상한 값과 다르게 나온다. if(0)은 무조건 false값이니까!!!
따! 라! 서!
아래와 같이 if ( ) 값이 false가 안되도록 바꿔보자.
if (arr.indexOf(1) > -1) { // 값이 -1보다 크다고 설정하면 된다. 보통 indexOf가 나오면 꼭 > -1과 함께 다니는 것을 볼 수 있다.
console.log('1 찾았다');
} else {
console.log('1 못 찾았다');
}
Author And Source
이 문제에 관하여(TIL 6 | Javascript_객체 : 배열(3)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@moonsirl9123/TIL-6-Javascript저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)