상세 컨텐츠

본문 제목

[JavaScript] 배열함수 정리 foreach map filter some every find

Coding/JS

by hwlink 2021. 10. 22. 11:22

본문

배열 정의

let names = ["Steve Jobs","Bill","jooyoung"]
let ceoList = [
{name:"Steve Jobs",age:23,ceo:true},
{name:"Bill",age:35,ceo:true},
{name:"jooyoung",age:35,ceo:false}
]

 

 

1.forEach 함수 사용

name.forEach( (item)=>{console.log(item)} )
//"Steve Jobs","Bill","jooyoung"

name.forEach( (item,index)=>{console.log(item,index)} )
//"Steve Jobs"0 "Bill"1 "jooyoung"2

 

2.map 함수 사용 

내부 아이템들을 return 해준다.

let data = ceoList.map((item)=>{
	return item.age //나이만 뽑기 원할때.
})
console.log(data)

//output [23, 35, 35]

let data2 = ceoList.map((item)=>{
	return item.name //이름만 뽑기 원할때.
})
console.log(data2)

//output ["Steve Jobs","Bill","jooyoung"]

 

let data2 = ceoList.map((item)=>{
	return item.name+"갖다붙이기" //이름만 뽑고 뒤에 +"갖다붙이기" 추가
})
console.log(data2)

//output ["Steve Jobs갖다붙이기","Bill갖다붙이기","jooyoung갖다붙이기"]

 

 

3.filter  함수 사용 (조건 내에 참인 것만 반환된다.) 

let data = ceoList.filter((item)=>{
	return item.age > 30 //나이에 조건을 건다.
})
console.log(data)

//output [
{
  age: 35,
  ceo: true,
  name: "Bill"
},
{
  age: 35,
  ceo: false,
  name: "jooyoung"
}
]

 

filter 함수 객체 name에 첫글자가 "S"인 것 반환. 찾는 단어 대소문자 구분.

S로 시작하는 모든거 다 반환

let data = names.filter((item)=>{
	return item.startsWith('S') //첫글자가 S인것 뽑아주셈
})
console.log(data)

//output ["Steave Jobs"]

 

4.Some 함수 객체 name에 첫글자가 "S"인 것 있으면 TRUE 반환

let data = ceoList.some((item)=>{
	return item.name.startsWith('S') //첫글자가 S인것 뽑아주셈
})
console.log(data)

//output true

 

5.EVERY 함수 객체 name에 첫글자 모두가 "S"이면 TRUE 반환

let data = ceoList.every((item)=>{
	return item.name.startsWith('S') //첫글자가 S인것 뽑아주셈
})
console.log(data)

//output false

 

6.FIND 하나만 찾아주며 스트링 반환한다.  filter는 전체를 찾아주며, 배열반환

let data = names.find((item)=>{
	return item.startsWith('S') //첫글자가 S인것 뽑아주셈
})
console.log(data)

//output "Steave Jobs"


//findIndex
let data = names.findIndex((item)=>{
	return item.startsWith('S')
})

//output 0

 

 

관련글 더보기