배열객체의 기능메서드
- isArray() : 배열인지 확인
- indexOf(위치) // lastIndexOf : 특정한 데이터의 위치를 확인
- forEach(function(ele,index,array){})
- map(function(ele){ return @@ })
배열의 구성요소를 return 값으로 변경해서 새로운 구성요소로 만듦
- filter(function(ele){return 조건})
조건에 맞는 구성요소로 filtering해서 배열을 새로 만들어 처리
//ex) 랜덤으로 1000~5000 사이 1000단위로 물품가격 5개를 생성하는 배열만들기
var array =[]
for(let i=1;i<=5;i++){
array.push( (parseInt(Math.random()*5)+1)*1000 )
}
div.innerHTML+="배열 : "+array+"<br>"
//ex)위 가격을 20% 할인된 금액의 배열 만들기
var array1 = array.map(function(num){return num*0.8})
div.innerHTML+="배열(20%할인) : "+array1+"<br>"
//ex) 3000이하의 데이터만 금액의 배열 만들기
var array2 = array.filter(function(num){return num<=3000})
div.innerHTML+="배열(3000이하) : "+array2+"<br>"
var obArr = []
obArr.push( {kor:70,eng:80,math:90} )
obArr.push( {kor:80,eng:85,math:70} )
obArr.push( {kor:90,eng:82,math:80} )
obArr.forEach(function(m){
div.innerHTML+=m.kor+" : "+m.eng+" : "+m.math+"<br>";
})
// ex) obArr에서 국어점수만 10점 더해 처리하세요
var obArr2 = obArr.map(function(score){
score.kor=score.kor+10
score.eng=score.eng // 다른 속성도 초기화해줘야함
score.math=score.math
score.avg = Math.floor((score.kor+ score.eng+score.math)/3)
return score}) // 새로운 속성 추가
var show = ""
obArr2.forEach(function(std){
// 객체의 forEach + for 속성값을 통해 출력
for(var pro in std){
show+=std[pro]+", "
}
show+="<br>"
})
div.innerHTML+=show