Array ( 배열 ) 에서 최대값과 최소값을 구하는 방법을 알아보자.

 

Math.max(), Math.min() 

let maxValue = Math.max(1, 2, 3, 4, 5);
let minValue = Math.min(1, 2, 3, 4, 5);

console.log(maxValue); // 5
console.log(minValue); // 1

 

Math.max() 함수는 입력받은 수 중 최대값을 구해서 반환해주는 함수다.

Math.min() 함수는 입력받은 수 중 최소값을 구해서 반환해주는 함수다.

 

위 함수들을 사용해 배열의 최대값과 최소값을 구하기 위해서는 

배열의 내용들을 꺼내 함수로 전달해주는 작업이 필요하다.

 

Spread Operator( 전개 연산자 )를 이용하면 배열의 내용들을 꺼내 함수로 전달할 수 있다.

let arr = [1, 2, 3, 4, 5];
let maxValue = Math.max(...arr);
let minValue = Math.min(...arr);

console.log(maxValue); // 5
console.log(minValue); // 1

 

 

 

join ( 배열을 문자열로 변환 )

배열의 모든 요소들을 연결한 문자열을 반환한다.

각각의 요소들 사이에 매개변수로 입력한 구분자가 들어간다.

구분자를 입력하지 않으면 기본값으로 , 가 들어간다.

 

let fruits = ["사과", "배", "수박"];

let str1 = fruits.join();
let str2 = fruits.join('-');
let str3 = fruits.join('');

console.log(str1); // 사과,배,수박
console.log(str2); // 사과-배-수박
console.log(str3); // 사과배수박

 

Array.from ( 문자열을 배열로 변환 )

문자열을 배열로 변환해 반환한다.

 

let number1 = "123";
console.log(Array.from(number)); // ['1','2','3']

let str = "abc";
console.log(Array.from(str)); // ['a','b','c']

 

참고 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/join

 

Array.prototype.join() - JavaScript | MDN

Array 인스턴스의 Join() 메서드는 배열의 모든 요소를 쉼표나 지정된 구분 문자열로 구분하여 연결한 새 문자열을 만들어 반환합니다. 배열에 항목이 하나만 있는 경우, 해당 항목은 구분 기호를

developer.mozilla.org

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/from

 

Array.from() - JavaScript | MDN

Array.from() 정적 메서드는 순회 가능 또는 유사 배열 객체에서 얕게 복사된 새로운 Array 인스턴스를 생성합니다.

developer.mozilla.org

 

sort ( 정렬 함수 )

array.sort([compareFunction])

 

매개변수

 - compareFunction

   - 정렬 순서를 정의하는 함수.

     생략하면 배열은 각 요소의 문자열 반환에 따라 각 문자의 유니코드 포인트 값에 따라 정렬된다.

   - 해당 함수는 2개의 요소 ( a, b )를 입력 받는다.

   - 해당 함수가 반환하는 값이 0보다 작을 경우, a가 b보다 앞에 오도록 정렬하고,

     해당 함수가 반환하는 값이 0보다 클 경우, b가 a보다 앞에 오도록 정렬한다.

     해당 함수가 0을 반환하면, a와 b의 순서를 변경하지 않는다.

 

파라미터 함수를 입력하지 않고 정렬

let numbers = [2,1,3,10];

arr.sort();

console.log(numbers); // 1 10 2 3

 

파라미터 함수를 입력하지 않고 정렬하면 위처럼 유니코드 포인트 값에 따라 정렬한다.

 

오름차순으로 정렬

let numbers = [ 9, 8, 7, 6];

numbers.sort((a, b) => a - b); 

console.log(numbers); // 6 7 8 9

 

 

내림차순으로 정렬

let numbers = [6, 7, 8, 9];

numbers.sort((a, b) => b - a));

console.log(numbers); // 9 8 7 6

 

reverse ( 배열 뒤집기 )

let numbers = [1,2,3,4,5];

numbers.reverse();

console.log(numbers); // 5 4 3 2 1

 

원본 배열 유지하고 뒤집기

let number = [1,2,3,4,5];

let reverseNumber = [...number].reverse();

console.log(number);
console.log(reverseNumber);

 

전개 구문인 ...을 이용해 복사본을 뒤집어서 reverseNumber에 저장한다.

이렇게 하면 원본 배열을 유지할 수 있다.

 

 

참고 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

 

Array.prototype.sort() - JavaScript | MDN

sort() 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다. 정렬은 stable sort가 아닐 수 있습니다. 기본 정렬 순서는 문자열의 유니코드 코드 포인트를 따릅니다.

developer.mozilla.org

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse

 

Array.prototype.reverse() - JavaScript | MDN

reverse() 메서드는 배열의 순서를 반전합니다. 첫 번째 요소는 마지막 요소가 되며 마지막 요소는 첫 번째 요소가 됩니다.

developer.mozilla.org

 

 

splice 

시작 위치부터 지정한 개수를 삭제하고, 시작 위치에 데이터를 넣는다.

let fruits = ["배", "감", "귤", "두리안"];

 // [1] 위치 : '감' 부터 2개( 감, 귤 )를 삭제하고 [1] 위치에 자두를 넣는다. 
fruits.splice(1, 2, "자두");

console.log(fruits); // 배 자두 두리안

 

 

slice

시작 위치부터 끝 위치 전까지 잘라서 배열로 반환한다.

let fruits = ["토마토", "브로콜리", "고추"];

// [1] 위치부터 [2] 위치 전까지 잘라서 배열로 반환
let slicedFruits = fruits.slice(1, 2);
let slicedFruits2 = fruits.slice(1, 3);

console.log(slicedFruits);  // 브로콜리
console.log(slicedFruits2); // 브로콜리 고추

 

Array ( 배열 )

 

기본 생성

// 기본 생성
let fruits = ["사과", "바나나", "오렌지"];

// 배열 요소 접근
console.log(fruits[0]); // "사과"

 

 

크기를 지정해 생성

let number = new Array(5);

 

push ( 데이터를 맨뒤에 넣기 )

let fruits = ["사과", "바나나", "오렌지"];

fruits.push("수박");

console.log(fruits); // 사과, 바나나, 오렌지, 수박

 

pop ( 데이터 맨뒤 삭제 )

let fruits = ["키위", "자몽"];

fruits.pop();

console.log(fruits); // 키위

 

unshfit( 데이터를 맨앞에 넣기 )

let fruits = ["망고", "파인애플"];

fruits.unshift("포도");

console.log(fruits); // 포도 망고 파인애플

 

shift ( 데이터 맨앞 삭제 )

let fruits4 = ["딸기", "메론", "참외"];

fruits4.shift();

console.log(fruits4); // 메론 참외

 

 

 

+ Recent posts