코딩/자바스크립트

JS / Number, Math, Array

민여 2022. 3. 31. 20:21

Number선언

var num= 100; //변수식 선언

var num = new Number(100); // 생성자함수식 선언방식 

 

string형변환

 

//합계를 구하는 프로그램

        var left = prompt('좌변값입력', '정수입력')
        var right = prompt('우변값입력', '정수입력')
        alert('결과: ' + (Number(left) + Number(right)));

 

Number()이렇게 묶어줌

 

속성과 메서드 종류가 많지만 쓰이는게 그렇게 많지않다

Number 메서드

toString() 숫자를 문자열로 반환 

toFixed() 매개변수에 지정한 소수 자릿수만큼 반환

 

Math 메서드 - new라는 키워드를 사용하지 않는 유일한 기본내장객체

 

숫자를  정수로 만드는 ceil()  = 올림 floor() = 내림 round() = 반올림

 

Array 객체선언 

 

var nums = [10,20,30]; //변수식

var nums = new Array(10,20,30); //생성자함수식 

 

둘다 데이터 형식이 객체다 이 방식은 생성자함수식도 자주 쓰이는편

 

Array 속성

length 배열 값의 개수 반환

 

Array 메서드

concat(a,b,..) 매개변수로 입력한 배열의 요소를 모두 합쳐 배열을 만들어 반환 

imdexOf(a) 매개변수 a가 배열 중 몇번째에 있는지 인덱스번호로 반환 

map(콜백함수) 배열의 모든 값을 콜백함수에서 호출한 결과로 새 배열 반환 

pop() 배열의 마지막 요소를 제거하고 반환 

push(a) 배열의 마지막 부분에 새로운 요소(매개변수 a)를 추가 

reverse() 배열의 요소 순서를 뒤집음 

sort() 배열의 요소를 정렬

shift() 첫번째 요소를 제거하고 반환 

unshift(a) 배열의 첫번째 부분에 새로운 요소(매개변수 a)를 추가 

 

//소시멤버들을 ss에 배열로 담고 레벨멤버들을 rv에 배열 

둘이 합쳐서 나타내려면 document.write(ss.concat(rv)); 

마지막 배열 제거 ss.pop();  = 맨마지막 소시멤버 제거 

ss.shift(); = 맨 첫번째 소시멤버 제거 

 

//추가하기 

var zodiac = ['소','호랑이', '' '' '' '' '' '' ]

document.write('처음상태 :' + zodiac + '<br>');

 

zodiac.push('돼지');   // 맨 뒤 추가 

zodiac.unshift('쥐'); // 맨 앞 추가 

 

오름차순: a to z / 내림차순: z to a 

숫자는 문자랑 다르게 정렬이 이상하게 된다 - 내부에 콜백함수 쓰기 

Array객체.sort(function(a,b){

   return a - b;

});  //오름차순 

Array객체.sort(function(a,b){

   return b - a;

});  //내림차순 

 

//로또만들기 

 

var lotto = [];   // 로또 번호 6개 배열 - 배열값은 담지 않음 

for(var i=0;i<6;i++){           // 6개를 랜덤으로

   var num = Math.floor(Math.random() * (44) + 1;

 

  for(var j in lotto){               //lotto라는 배열에 담긴 숫자와 값이 같으면 안됨 

     if(num == lotto[j]){

       num = Math.floor(Math.random() * (44) + 1;

     }

   lotto.push(num);    //배열마지막에 값을 추가 num은 매개변수

}

Lotto.sort(function(a,b){

  return a - b;

});

 

alert(lotto);

'코딩 > 자바스크립트' 카테고리의 다른 글

JS / BOM- location, history  (0) 2022.04.01
JS / BOM, window  (0) 2022.04.01
JS / String, Date  (0) 2022.03.30
JS / 객체, 생성자 함수  (0) 2022.03.30
JS / 함수  (0) 2022.03.29