특정문자를 제외한 배열 추출하기
let list = [
'01. 들어가며',
'02. 자바스크립트',
'03. 파이썬',
'04. html',
'05. css',
'06. reace',
]
let new_list = [];
for(let i in list){
new_list += list[i].slice(4);
};
console.log(new_list); // 들어가며자바스크립트파이썬htmlcssreace
let new_list2 = [];
for(let i in list){
new_list2.push(list[i].slice(4));
};
console.log(new_list2); // [ '들어가며', '자바스크립트', '파이썬', 'html', 'css', 'reace' ]
🔔 slice(n, m) : 시작점(n)부터 m까지(없으면 문자열 끝까지) 반환
특정문자 포함여부 확인하기
🔔 indexOf() : 배열 안에서 찾으려는 값과 일치하는 '첫번째' 요소의 index를 return
🔔 lastIndexOf() : 배열 안에서 찾으려는 값과 일치하는 '마지막' 요소의 index를 return
function haveA(str){
if(str.indexOf('A')){
console.log('A를 포함하고 있는 문장입니다');
}else{
console.log('PASS');
}
};
haveA('나는 A입니다') // A를 포함하고 있는 문장입니다
haveA('나는 B입니다') // A를 포함하고 있는 문장입니다
haveA('A? 그런건 있을수없어') // PASS
❗ indexOf() 메소드는 ()안의 텍스트가 없을 경우 -1을 반환한다.
따라서 해당 문자가 없더라도 if문은 참이 되어버린다
*0(false)이 아니면 true를 반환하므로
❗ 또 해당 문자가 첫번째에 들어있을 경우 indexOf('text')=0이 되어 참인데도 false로 처리되는 정반대의 결과가 나와버린다.
그래서 위의 if문은 아래와 같이 고쳐주어야 한다.
if(str.indexOf('A')>-1)
이제는 결과가 잘 나오는 것을 볼 수 있다.
function haveA(str){
if(str.indexOf('A')>-1){
console.log('A를 포함하고 있는 문장입니다');
}else{
console.log('PASS');
}
};
haveA('나는 A입니다') // A를 포함하고 있는 문장입니다
haveA('나는 B입니다') // PASS
haveA('A? 그런건 있을수없어') // A를 포함하고 있는 문장입니다
특정문자 포함여부를 확인하는 메소드2 : includes()
🔔 includes(x, y) : 배열이 x를 포함하고 있는지 판별, 대소문자를 구분한다 y는 검색을 시작할 위치(없으면 문자열 전체)
조건에 맞는 첫번째 요소값 반환 : find(), findIndex()
let user_list = [
{'name':'Jane', 'age':30},
{'name':'Bella', 'age':20},
{'name':'Ed', 'age':15},
]
function findUser(user){
return user.name === 'Bella'
}
console.log(user_list.find(findUser)); // { name: 'Bella', age: 20 }
위의 식은 아래의 식과 같다.
const result = user_list.find(user => {
return user.name === 'Bella'
})
console.log(result); // { name: 'Bella', age: 20 }
🔔 findIndex() : 조건에 맞는 값의 첫번째 index를 반환한다.
const result = user_list.findIndex(user => {
return user.name === 'Bella'
})
console.log(result); // 1
📛 find(), findIndex()는 첫번째 값에 대한 정보만 반환!
(없으면 undefined 반환)
조건에 맞는 모든 값 반환 : filter()
🔔 사용법은 find()와 같다.
let arr = [1,2,3,4,5]
const result = arr.filter(item => {
return item >= 3;
});
console.log(result) // [3,4,5]
이모티콘이 중간중간있어서 가독성이 더 좋은것같네요!