비슷한 기능을 가진 메소드를 분류해 놓았고, 상세 내용은 mdn의 순서와 흡사합니다.
Array.of() - 배열 생성, 기존 생성자와 다르게 숫자를 요소의 갯수가 아닌 값으로 판단 Array.from() - 배열 반환, 이터러블 객체를 배열로 변경하여 새 배열 반환 Array.isArray() - 배열 확인, boolean반환
배열 탐색 Array.prototype.at(index) - 호출한 배열에 인덱스 값으로 N번째 요소의 값 반환 ( 역순 탐색 가능 ) Array.prototype.indexOf(value) - 호출한 배열에 값을 주고 만족하는 가장 첫번째 요소 인덱스반환 Array.prototype.lastIndexOf(value) - 호출한 배열에 값을 주고 만족하는 뒤에서부터 가장 첫번째 요소 인덱스반환 Array.prototype.includes(value) - 배열 요소중 주어진 값 검색, boolean 반환 Array.prototype.some(callback) - 호출한 배열에 주어진 콜백함수를 만족하는 값 있는지 검색, boolean 반환 Array.prototype.find(callback) - 호출한 배열에 주어진 콜백함수를 만족하는 가장 첫번째 요소의 값 반환 Array.prototype.findLast(callback) - 호출한 배열에 주어진 콜백함수를 만족하는 뒤에서부터 가장 첫번째 요소의 값 반환 Array.prototype.findIndex(callback) - 호출한 배열에 주어진 콜백함수를 만족하는 가장 첫번째 요소의 index 반환 Array.prototype.findLastIndex(callback) - 호출한 배열에 주어진 콜백함수를 만족하는 뒤에서부터 가장 첫번째 요소의 index 반환 Array.prototype.every(callback) - 호출한 배열 내 모든 요소가 주어진 콜백함수를 통과하는지 테스트, boolean 반환, 참일시 탐색 종료
배열 수정 Array.prototype.copyWithin(target, start, end) - 호출한 배열 내 n ~ n 번째 요소 복사, 호출한 배열 내 특정위치에 복사, 수정된 원본배열 반환 Array.prototype.fill(value, start, end) - 호출한 배열 내 n ~ n 번째 요소를 주어진 값으로 변경, 새요소 추가X, 원본 배열 수정 Array.prototype.with(index, value) - 호출한 배열의 단일 요소의 값을 지정된 값으로 변경, 새 배열 반환 Array.prototype.slice(start, end) - 호출한 배열의 N ~ N 번째 요소를 복사, 새 배열 반환 Array.prototype.splice(start[, deleteCount[, item...]]]) - 호출한 배열의 기존 요소를, 삭제,교체, 혹은 새요소 추가, 원본 배열 반환 Array.prototype.toSplicedstart[, deleteCount[, item...]]() - 호출한 배열의 기존 요소를, 삭제,교체, 혹은 새요소 추가, 새 배열 반환 Array.prototype.pop() - 호출한 배열 가장 마지막 요소 제거, 제거된 요소 반환 Array.prototype.push(element...) - 호출한 배열 가장 마지막에 매개변수로 받은 값 삽입, 수정된 배열의 길이 반환 Array.prototype.shift() - 호출한 배열 가장 앞 요소를 제거, 제거된 요소 반환 Array.prototype.unshift(element...) - 호출한 배열 가장 앞에 N 개의 요소 추가, 수정된 배열의 길이 반환 Array.prototype.reverse() - 호출한 배열 요소들을 반전한 원본배열 반환 Array.prototype.toReversed() - 호출한 배열 요소들을 반전한 새배열 반환 Array.prototype.concat(array) - 호출한 배열의 뒤에 넘겨준 배열을 병합한 새 배열 반환 Array.prototype.filter(callback) - 호출한 배열 내에 콜백함수의 조건을 만족한 요소들 취합 후 새 배열 반환 Array.prototype.join(separator) - 호출한 배열의 모든 요소를 하나의 문자열로 변환하여 반환, ( 구분자 지정 가능 ) Array.prototype.toString() - 호출한 배열의 모든 요소를 하나의 문자열로 변경, 문자열 반환 ( 구분자 무조건 "," ) Array.prototype.toLocaleString() - 호출한 배열의 모든 요소를 하나의 문자열로 변경, 문자열 반환 Array.prototype.flat(depth) - 호출한 배열의 다차원 배열 평탄화, 새로운 배열 반환 Array.prototype.flatMap(callback) - 호출한 배열의 다차원 배열 평탄화, 각 배열 요소에 순환 접근 후 콜백 메소드 실행, 1뎁스만 평탄화 가능 Array.prototype.forEach(callback) - 호출한 배열에 콜백함수의 결과 반환 Array.prototype.map(callback) - 호출한 배열내의 모든 요소에 접근하여 콜백함수를 실행한 새 배열 반환 Array.prototype.sort(callback) - 호출한 배열에 주어진 콜백함수를 만족하는 방법으로 정렬, 원본배열 반환 Array.prototype.toSorted(callback) - 호출한 배열에 주어진 콜백함수를 만족하는 방법으로 정렬, 새 배열 반환
이터러블 객체 반환 Array.prototype.entries() - 배열의 키,값 을 가진 이터러블 객체 반환 Array.prototype.keys() - 배열내의 모든 요소의 인덱스를 키 값으로 가지는 이터러블 객체 반환 Array.prototype.values() - 배열의 모든 요소의 값을 순환하는 이터러블 객체 반환 Array.fromAsync() - ?? Array.prototype.reduce() - ?? Array.prototype.reduceRight() - ??
생성자 함수 내부에 정의된 메소드
forEach:~에서
설명
Array.from() 메서드는 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만듭니다.
유사 배열 객체 : length 속성과 인덱싱 된 요소를 가진 객체, HTML DOM을 취득하면 유사배열로 반환된다.
배열처럼 보이지만 사실 객체인것.
매개변수
반환 값
새로운 Array 인스턴스
원본 배열 손상여부 : 손상없음
주의사항
<div class="kakao">무지</div>
<div class="kakao">라이언</div>
const kakao = document.querySelectorAll('.kakao');
console.log(kakao);
{
0: div.kakao,
1: div.kakao,
length: 2,
}
이런 유사배열 객체에 배열메소드를 사용하기위해 배열로 변환해준다.
매개변수로 전달된 값들만큼의 가변배열을 생성합니다.
of : ~의
설명
이 동작은 Array 생성자에 전달되는 데이터의 유형을 모를때 문제를 야기합니다. 이 문제를 해결하기위해 Of 가 도입되었습니다.
매개변수
반환 값
새 배열
원본 배열 손상여부 : 손상없음
주의사항
기존 생성자의 문제점
const arr = new Array(3);
console.log(arr) // [undefiend,undefiend,undefiend]
const arr = new Array("3");
console.log(arr) // ["3"]
Of 사용으로 해결
const arr = Array.of(3);
console.log(arr) //[3]
const arr = Array.of("3");
console.log(arr) // ["3"]
isArray : 배열인가(의문문)
설명
매개변수로 주어진 값이 배열인지 아닌지 판별합니다.
매개변수
반환 값
Boolean
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지",,"농담곰","콘"]
console.log(Array.isArray(arr)) // true
at : ~ 에
설명
양수와 음수를 사용하여 배열 인덱스에 접근이 가능합니다. 음의 정수는 배열의 마지막 항목부터 거슬러 셉니다.
매개변수 ( index )
양수는 기존의 방식과 동일합니다.
음수는 배열의 끝부터 거슬러 셉니다.
반환 값
매개변수로 전달한 인덱스와 일치하는 배열의 요소 입니다.
index < -array.length 또는 index >= array.length 와 같은식의 문법은 항상 undefined 를 반환합니다.
원본 배열 손상여부 : 손상없음
const arr = ["라이언","무지","콘"];
const lastItem = arr.at(-1);
console.log(arr.at(-1))//콘
console.log(arr.at(1)) //라이언
concatenate : 연쇄된, 이어진, 연결된
설명
concat은 복사 메서드 입니다.
두 개 이상의 배열을 병합하는 데 사용됩니다. 이 메서드는 기존 배열을 변경하지 않고, 새 배열을 반환합니다.
매개변수 ( Array )
새 배열로 연결할 배열 및 또는 값입니다. 매개변수 생략시 concat 은 호출된 기존 배열의 얕은 복사본을 반환합니다.
반환 값
새로운 Array 객체
원본 배열 손상여부 : 손상없음
const arr = ["라이언","무지","콘"];
const arr2 = ["농담곰"];
const arr3 = arr.concat(arr2,"카카오",10,{})
console.log(arr3)//라이언,무지,콘,농담곰,카카오,10,{}
ps. concat은 arr3 = [...arr,...arr2] 와 동일한 동작을 한다. ( 스프레드 연산자 )
copy : 복제,복사
within : ~안에서
설명
배열의 일부분을 발췌하여 발췌한 배열 요소들을 특정위치에 덮어씌우는 메서드 입니다.
매개변수(target[, start[, end]])
반환 값
수정한 배열
원본 배열 손상여부 : 손상있음
const arr = ["라이언","무지","콘","농담곰","카카오"];
console.log(arr.copyWithin(1,3,5))//'라이언', '농담곰', '카카오', '농담곰', '카카오'
entry : 경기, 경연 따위에 참가하는 사람들의 명부.
설명 : 배열의 key, value 를 가진 반복자 객체를 반환한다.
매개변수
별도의 매개변수는 사용하지 않고 반환된 객체는 아래 형태와 같다.
모두 순회하여 done 속성이 true 로 변하면 undefiend 를 반환합니다. 1회성 반복자 객체라는 뜻 입니다.
반복문으로 순환하여 출력이 가능합니다.
반환 값
반복자 객체
원본 배열 손상여부 : 손상없음
const arr = ["라이언","무지","콘","농담곰","카카오"];
const entri = arr.entries();
console.log(entri.next())//[0, '라이언']
console.log(entri.next())//[1, '무지']
console.log(entri.next())//[2, '콘']
ps. 이터러블 객체란 자바스크립트 내에서 순회 가능한 객체를 뜻합니다. 배열,객체,문자열도 이터러블 합니다. 이터러블한 객체는 모두 done 속성 값을 가지고 있다고 생각하고 넘어가겠습니다.
every : 모든
설명
배열의 모든 요소가 조건에 만족하는지 확인하는 메소드
배열 순환중 조건에 만족하지 않는 요소가 있다면 즉시 순환을 중지하고 false를 반환한다.
매개변수
반환 값
boolean
원본 배열 손상여부 : 손상없음
const arr = [
{brand : "kakao", char : "라이언"},
{brand : "kakao", char : "무지"},
{brand : "nongdam", char : "농담곰"},
{brand : "kakao", char : "콘"}
];
function checkBrand(pram){
if(pram.every(el => el.char == 'kakao')){
console.log("KAKAO");
}else{
console.log("NOT KAKAO");
}
}
checkBrand(arr);
fill:채우다,떼우다,메우다
설명
배열의 특정 index 범위를 같은 값으로 채워주는 메소드. end 로 지정한 index 이전까지만 채워진다.
매개변수
반환 값
수정된 배열
원본 배열 손상여부 : 손상있음
const arr = ["라이언","무지","농담곰","콘"];
console.log(arr.fill("카카오",0,1))//[카카오,무지,농담곰,콘]
const arr = new Array(40).fill(0);
//배열의 요소수와 0으로 채우는 이유 : 정해진 메모리공간을 할당함으로 메모리를 더 빠르게 사용할 수 있다고함..
filter:여과하다,거르다
설명
주어진 함수의 조건을 통과하는 모든 요소를 합쳐 새로운 배열로 반환합니다.
매개변수
반환 값
테스트를 통과한 요소로 이루어진 새로운 배열. 어떤 요소도 테스트를 통과하지 못했으면 빈 배열을 반환합니다.
원본 배열 손상여부 : 손상없음
주의사항
filter 함수는 객체를 직접 사용하거나 변형시키지 않지만 callbackfn을 통해 수정할 수 있으며 이는 문제를 발생시키는 원인이 됩니다.
callbackfn이 호출되는 범위는 callbackfn이 처음 호출되기 이전이며, filter는 순회하는 도중에 추가된 요소는 접근하지 않습니다. 반대로 순회하는 도중 수정이 일어나면 변경된 값이 callbackfn에 전달되고 삭제된 요소는 접근하지 않습니다.
const arr = [
{brand : "kakao", char : "라이언"},
{brand : "kakao", char : "무지"},
{brand : "nongdam", char : "농담곰"},
{brand : "kakao", char : "콘"}
];
const checkBrand = arr.filter(item => item.brand === "nongdam");
console.log(checkBrand)//[{brand : "nongdam", char : "농담곰"}]
find:찾다
설명
주어진 판별 함수를 만족하는 첫 번째 요소의 값을 반환합니다. 그런 요소가 없다면 undefined를 반환합니다.
매개변수
반환 값
주어진 조건을 만족하는 첫 번째로 발견된 요소의 값, 없으면 undefined
원본 배열 손상여부 : 손상없음
주의사항
const arr = [
{brand : "kakao", char : "라이언"},
{brand : "kakao", char : "무지"},
{brand : "nongdam", char : "농담곰"},
{brand : "kakao", char : "콘"}
];
const checkBrand = arr.find(item => item.brand === "kakao");
console.log(checkBrand)//{brand : "kakao", char : "라이언"}
find:찾다
설명
메서드는 주어진 판별 함수를 만족하는 배열의 첫 번째 요소에 대한 인덱스를 반환합니다. 만족하는 요소가 없으면 -1을 반환합니다.
매개변수
반환 값
주어진 조건을 만족하는 첫 번째로 발견된 요소의 값 , 없으면 -1
원본 배열 손상여부 : 손상없음
주의사항
const arr = [
{brand : "kakao", char : "라이언"},
{brand : "kakao", char : "무지"},
{brand : "nongdam", char : "농담곰"},
{brand : "kakao", char : "콘"}
];
const checkBrand = arr.findIndex(item => item.brand === "kakao");
console.log(checkBrand)//0
find:찾다
설명
find() 를 배열의 역순으로 실행합니다.
매개변수
반환 값
주어진 조건을 만족하는 첫 번째로 발견된 요소의 값, 없으면 undefined
원본 배열 손상여부 : 손상없음
주의사항
const arr = [
{brand : "kakao", char : "라이언"},
{brand : "kakao", char : "무지"},
{brand : "nongdam", char : "농담곰"},
{brand : "kakao", char : "콘"}
];
const checkBrand = arr.find(item => item.brand === "kakao");
console.log(checkBrand)//{brand : "kakao", char : "콘"}
find:찾다
설명
findIndex() 를 배열의 역순으로 실행합니다.
매개변수
반환 값
주어진 조건을 만족하는 첫 번째로 발견된 요소의 값 , 없으면 -1
원본 배열 손상여부 : 손상없음
주의사항
const arr = [
{brand : "kakao", char : "라이언"},
{brand : "kakao", char : "무지"},
{brand : "nongdam", char : "농담곰"},
{brand : "kakao", char : "콘"}
];
const checkBrand = arr.findLastIndex(item => item.brand === "kakao");
console.log(checkBrand)//3
flat:평평한, 편평한
설명
중첩된 배열(다중차원 배열)을 평탄화할 때 사용합니다.
매개변수
반환 값
평탄화 된 새로운 배열
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지",["농담곰","콘"]]
const flatArr = arr.flat()
console.log(arr) //라이언,무지,Array(2);
console.log(flatArr) //라이언,무지,농담곰,콘
flatMap은 flat() 과 map() 을 한번에 해결해주는 고마운 녀석입니다.예제를 보시면 아시겠지만 flatMap() 는 flat 된 중첩배열을 문자열로 반환합니다. 사칙연산을 하려면 NaN 을 만나실 수 있으니 숫자는 꼭 숫자형태로 변환시켜주세요.
flat:평평한, 편평한
Map :(배치구조 등에 대한 정보를) 발견하다,보여주다
설명
각 요소에 접근하여 callback 함수를 실행하고 1뎁스만 평탄화 합니다.
매개변수
반환 값
각 요소가 callback 함수의 결과, 1뎁스만 평탄화 된 배열
원본 배열 손상여부 : 손상없음
주의사항
const arr = [1, 2, [3,4],5];
const mapped = arr.flatMap((x) => x+2);
console.log(mapped); // [2, 4, '3,42', 10]
const arr = [1, 2, [3],4,5];
const mapped = arr.flatMap((x) => parseInt(x)+2);
console.log(mapped); // [3, 4, 5, 6, 7]
for(let i = 0 ; i < arr.length; i++ ) 와 동일한 동작을 합니다.
forEach:각각의
설명
각 요소에 접근하여 callback 함수를 실행합니다.
매개변수
반환 값
콜백함수의 결과
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지",,"농담곰","콘"]
let playCount = 0;
arr.forEach(function(item){
console.log("배고픈" + item + "입니다");
++playCount;
});
console.log("실행된 횟수는 :" + playCount)
include : 포함
설명
배열 Array의 항목 중 특정 값이 포함되어있는지 검색하여 true 를 반환한 요소의 값을 반환합니다.
매개변수
반환 값
Boolean
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지",,"농담곰","콘"]
console.log(arr.includes("무지")) // true
희소배열 검색
console.log(["무지", ,"라이언"].includes(undefined)); // true
indexOf : 색인의
설명
배열 Array의 항목 중 특정 값이 포함되어있는지 검색하여 true 를 반환한 요소의 Index를 반환합니다.
매개변수
반환 값
인덱스
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지",,"농담곰","콘"]
console.log(arr.indexOf("무지")) // 1
indexOf : 색인의
설명
배열 Array의 항목 중 특정 값이 포함되어있는지 검색하여 true 를 반환한 요소의 Index를 반환합니다. 배열의 끝부터 검색합니다. 역방향 검색
매개변수
반환 값
인덱스
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지",,"농담곰","콘"]
console.log(arr.lastIndexOf("무지")) // 1
join :연결하다, 잇다
설명
배열의 모든 요소를 쉼표나 지정된 구분 문자열로 구분하여 연결하여 새 문자열을 만들고 반환합니다. 배열에 항목이 하나만 있는 경우 해당 항목은 구분 기호를 사용하지 않고 반환됩니다.
매개변수
반환 값
모든 배열 요소가 결합된 문자열입니다. arr.lengthis 인 경우 0빈 문자열이 반환됩니다.
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지",,["농담곰","콘"]]
console.log(arr.join())//라이언,무지,,농담곰,콘
keys : 열쇠들
설명
배열의 모든 요소의 인덱스를 키 값으로 가지는 이터러블 객체 반환
매개변수
없음
반환 값
이터러블 객체
원본 배열 손상여부 : 손상없음
주의사항
Object.keys()처럼 실제로 존재하는 키만 포함하는것과 달리 Array.keys() 반복자는 희소배열의 빈 요소도 포함합니다.
다차원 배열은 무시됩니다. 중첩된 배열 자체를 하나의 키로 봅니다.
const arr = ["라이언","무지",,["농담곰","콘"]];
const iter = arr.keys();
for(const key of iter){
console.log(key);
}
console.log(arr);//0,1,2,3 농담곰,콘 은 하나의 요소로판별
map : (배치구조 등에 대한 정보를) 발견하다,보여주다
설명
호출 배열의 모든 요소에 대해 콜백함수의 결과로 채워진 새 배열을 만듭니다.
매개변수
반환 값
각 요소에 콜백함수의 결과가 적용된 새 배열
원본 배열 손상여부 : 손상없음
주의사항
// 각 배열요소의 인덱스로 채워진 새 배열을 반환함
const arr = ["라이언","무지","농담곰","콘"];
const arr2 = arr.map((x) => {return arr.indexOf(x)})
console.log(arr2);//0,1,2,3
pop : 펑 하고 터뜨리다
설명
배열 에서 마지막 요소를 제거 하고 해당 요소를 반환합니다. 이 메서드는 배열의 길이를 변경합니다.
매개변수
없음
반환 값
제거된 요소
원본 배열 손상여부 : 손상있음
주의사항
const kakao = ["라이언","무지","콘"];
console.log(kakao.pop()); //콘
console.log(kakao); //[라이언,무지]
push : 밀다
설명
지정된 배열의 끝에 매개변수로 전달된 값을 추가하고 변경된 배열의 길이를 반환합니다.
매개변수
반환 값
push를 호출한 배열의 변경된 length 값
원본 배열 손상여부 : 손상있음
주의사항
const kakao = ["라이언","무지","콘"];
console.log(kakao.push("농담곰","춘식이")); // 5
console.log(kakao); //[라이언,무지,콘,농담곰,춘식이]
reverse : (정반대로) 뒤바꾸다, 반전시키다
설명
호출한 배열의 요소의 위치를 반전시킵니다.
매개변수
없음
반환 값
원본 배열을 반전시킨 배열
원본 배열 손상여부 : 손상있음
주의사항
const kakao = ["라이언","무지","콘"];
const kakaoReverse = kakao.reverse();
console.log(kakao);//[콘,무지,라이언]
console.log(kakaoReverse);//[콘,무지,라이언]
reverse : (정반대로) 뒤바꾸다, 반전시키다
설명
호출한 배열의 복사본을 만들고 요소의 위치를 반전시킵니다.
매개변수
없음
반환 값
원본 배열을 반전시킨 배열 복사본
원본 배열 손상여부 : 손상없음
주의사항
const kakao = ["라이언","무지","콘"];
const kakaoReverse = kakao.toReversed();
console.log(kakao);//[라이언,무지,콘]
console.log(kakaoReverse);//[콘,무지,라이언]
shift : (장소를) 옮기다, 이동하다[되다]; 자세를 바꾸다
설명
배열의 첫번째 요소를 제거하고 제거된 요소를 반환합니다.
매개변수
없음
반환 값
배열에서 제거된 요소
원본 배열 손상여부 : 손상있음
주의사항
const kakao = ["라이언","무지","콘"];
console.log(kakao.shift()); // 라이언
console.log(kakao); // [라이언,무지]
shift : (장소를) 옮기다, 이동하다[되다]; 자세를 바꾸다
설명
배열의 첫번째에 요소를 추가하고 추가된 요소를 반환합니다.
매개변수
반환 값
추가된 요소를 포함한 배열의 length
원본 배열 손상여부 : 손상있음
주의사항
const kakao = ["라이언","무지","콘"];
console.log(kakao.unshift("농담곰","캐릭터")); // 5
console.log(kakao); //['농담곰', '캐릭터', '라이언', '무지', '콘']
slice : 조각, 부분, 썰다
설명
호출한 배열의 일부를 얕은 복사본인 새 배열로 만들어줍니다.
매개변수
반환 값
추출된 요소를 포함하는 새 배열입니다.
원본 배열 손상여부 : 손상없음
주의사항
const kakao = ["라이언","무지","콘","춘식이","제이슨"];
const sliceKakao = kakao.slice(1,3);
console.log(kakao);//["라이언","무지","콘","춘식이","제이슨"]
console.log(sliceKakao);//["무지","콘"]
some:조금, 일부
설명
주어진 판별 함수를 만족하는 값이 있다면 true 를 그렇지 않으면 false 를 반환합니다.
매개변수
반환 값
boolean
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지","농담곰","콘"];
arr.some((x)=> "라이언" === x); // true
const arr = ["라이언","무지","농담곰","콘"];
arr.some((x)=> "춘식이" === x); // false
Sort 메소드의 정렬 알고리즘은 Tim Sort 방식이라고 합니다. Tim Sort는 Merge Sort + Insertion Sort 두가지의 방식을 적절히 조화시킨 방식이라고합니다.
정렬을 시키는 이유
단순히 보기 편해서?? 아닙니다.
정렬이 되어있는 데이터는 바이너리탐색을 할 수있다는 장점이있습니다.
바이너리탐색은 이진법의 "이진" 이 아니라 배열을 반씩 나누어 진행한다는겁니다.
바이너리탐색은 정렬, 요소추가, 삭제 등에서 시간이 많이 걸리지만 데이터를 검색할때 말도안되게 빠르게 찾을 수 있습니다.
그렇다면 배열요소의 변동이 적고, 탐색을 많이하는 배열에 정렬을 하면 더 극대화된 효과를 누릴 수 있겠죠?
sort: 정리하다
설명
배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다.정렬 속도와 복잡도는 각 구현방식에 따라 다를 수 있습니다.
매개변수
반환 값
원본배열을 정렬한 배열
원본 배열 손상여부 : 손상있음
주의사항
// x y 에는 arr 배열의 요소가 각각 할당되고, 그 값으로 연산을 합니다.
const arr = [5,10,7,3,4];
const arr2 = arr.sort(fn);
function fn(a,b){
return a - b;
};
arr === arr2 //true
![]() | ![]() |
---|---|
a - b : 오름차순 | b - a : 내림차순 |
sort: 정리하다
설명
sort()에 대응되는 복사 메서드입니다. 이 메서드는 요소들을 오름차순으로 정렬한 새로운 배열을 반환합니다.
매개변수
반환 값
원본배열을 복사한 별개의 수정된 배열
원본 배열 손상여부 : 손상없음
주의사항
// x y 에는 arr 배열의 요소가 각각 할당되고, 그 값으로 연산을 합니다.
const arr = [5,10,7,3,4];
const arr2 = arr.toSorted(function(a,b){return a-b});
arr === arr2 //false
![]() | ![]() |
---|---|
a - b : 오름차순 | b - a : 내림차순 |
splice: 잇다, 붙이다
설명
배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.
매개변수
반환 값
변경된 배열
원본 배열 손상여부 : 손상있음
주의사항
const arr = ["라이언","무지","농담곰","콘"];
const arr2 = arr.splice(2,0,'제이지','캐릭터');
console.log(arr)//[라이언,무지,제이지,캐릭터,농담곰,콘]
console.log(arr2)//[라이언,무지,제이지,캐릭터,농담곰,콘]
arr === arr2 // true
splice: 잇다, 붙이다
설명
배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경하고, 새 배열을 반환합니다.
매개변수
반환 값
변경된 배열
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지","농담곰","콘"];
const arr2 = arr.splice(2,0,'제이지','캐릭터');
console.log(arr)//[라이언,무지,농담곰,콘]
console.log(arr2)//[라이언,무지,제이지,캐릭터,농담곰,콘]
arr === arr2 // false
설명
배열의 요소를 연결하여 반환합니다. 요소는 문자열로 변환되고 이 문자열을 사용하는 데 사용되는 로케일 고유 문자열(가령 휴식표 ",")에 의해 분리됩니다.
매개변수
반환 값
배열요소를 모두 합친 문자열
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지","농담곰","콘"];
arr.toLocaleString();
console.log(arr)// "라이언,캐릭터,농담곰,콘" 문자열 반환
value: 값, 가치
설명
배열의 모든 개별요소의 값을 반환하는 반복자 객체를 반환합니다.
매개변수
없음
반환 값
이터러블 객체
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지","농담곰","콘"];
const iter = arr.values();
//console.log(iter) = Array Iterator {}
arr.forEach( (el) => {console.log(el)} );
//라이언
//무지
//농담곰
//콘
value: ~와 함께, ~을 가진
설명
배열의 지정된 인덱스의 값을 변경하고, 지정된 인덱스의 요소가 지정된 값으로 대체된 새 배열을 반환합니다.
매개변수
반환 값
변경된 새 배열
원본 배열 손상여부 : 손상없음
주의사항
const arr = ["라이언","무지","농담곰","콘"];
const iter = arr.values();
//console.log(iter) = Array Iterator {}
arr.forEach( (el) => {console.log(el)} );
//라이언
//무지
//농담곰
//콘