검색 편의를 위해 제목에 다 썼다.
1) 일단 문자열에서 어떤 특정 문자열이 포함되었는지 여부를 확인하는 메소드다.
const j = "안녕하세요"
String.prototype.contain = function(st) {
return this.indexOf(st)>=0
}
string = "asdf"
console.log(`'df' in ${string}:`,string.contain('df'));
indexOf() 는 배열이나 문자열에 파라미터로 입력한 값이 들어있으면 그 있는 위치를 0 이상의 정수로 return한다. 안 들어있으면 -1을 return 한다. 위의 코드는 그걸 이용했다.
return this.indexOf(st) >= 0 부분에서는 0 이상인지 그렇지 않은지 여부에 따라 true 나 false를 리턴할 것이다.
2) 다음은 array에서 특정 요소가 들어있는지 여부를 확인하는 메소드다.
Array.prototype.contain = function(item){
if (item === undefined){
return false
} else {
return this.indexOf(item) >= 0
}
array1 = ['안녕', 23, b={name: 'John', age: 30}, func1 = function (a,b){return a+b}]
console.log(array1.contain(func1))
console.log(array1.indexOf(23))
원리는 1)과 똑같다. item 위치에 배열에 들어갔는지 여부를 확인하고자 하는 요소를 넣어 준다. 콘솔창에서 true 나 false 혹은 not defined 에러를 출력한다.^^ if 문으로 해결하려 했으나 실패했다.
'자바스크립트 리뷰' 카테고리의 다른 글
랜덤한 숫자 생성 [혼공자 6-2-5] (0) | 2023.04.08 |
---|---|
Number () 정리 [혼공자 6-2. 268p] (0) | 2023.04.08 |
숫자 prototype에 메소드 추가하기 [혼공자 6-2-1] (0) | 2023.04.08 |
객체 내부의 메소드를 실행하는 명령어 [혼공자 확인문제 6-1-4] (0) | 2023.04.08 |
객체의 속성으로 함수를 쓸때, 화살표 함수는 쓰지 않는다. [혼공자6-1-5] (0) | 2023.04.08 |