js16

제로·2022년 12월 4일
0

javascript

목록 보기
16/26

배열객체의 기능메서드

  1. isArray() : 배열인지 확인
  2. indexOf(위치) // lastIndexOf : 특정한 데이터의 위치를 확인
  3. forEach(function(ele,index,array){})
  4. map(function(ele){ return @@ })
    배열의 구성요소를 return 값으로 변경해서 새로운 구성요소로 만듦
  5. 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
   
profile
아자아자 화이팅

0개의 댓글