js-array(2)

hazel's·2022년 3월 22일
0

javascript

목록 보기
6/12
post-custom-banner

🟣 arr.sort()

배열 재정렬
배열자체가 변경되는 주의

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

arr.sort();
console.log(arr);

//
[1,2,3,4,5]
let arr=[27,8,5,13];
arr.sort();
console.log(arr);

//
[13, 27, 5, 8]

정렬이 이상하다? 그 이유는 십의 자리 수가 1과 2이기 때문에 그게 먼저 인식되서 앞에 정렬되기 때문이다 이럴때는!!

인수로 정렬 로직을 담은 함수로 받아야 한다

두요소를 전달하고 양수인지 음수인지 0인지 알려주면 된다.
a랑 b랑 비교해서 a가 크면 b를 앞으로 보낸다.

arr.sort((a,b)=>{
 return a-b
});
console.log(arr);
//
[5, 8, 13, 27]

🟣 arr.reduce()

배열을 돌면서 합한다.
(현재까지 누적된 계산값, 현재값)=>{return계산값}

let arr=[1,2,3,4,5]

const result= arr.reduce((prev,cur)=>{
 return prev + cur;
 //이전값 + 현재값;
 //0+1;
 //1+2;
 //3+3;
 //6+4;
 //10+15;
},0);
console.log(result);

//25

🟥 구조 분해 할당

구조 분해 할당 구문은 배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게 하는 표현식

let users=['mike','tom','jane'];
let [user1,user2,user3] =users;

위의 문장은 
let user1=users[0];
let user2=users[1];
let user3=users[2];

console.log(user1);
//'mike'

🔹배열 구조 분해 : 일부 반환값 무시

let [user1, , user2]=['mike,'tom','jane','tony'];

console.log(user1);
//'mike'
console.log(user2);
//'jane'

🔹배열 구조 분해: 바꿔치기

let a=1;
let b=2;

바꾸려면 c를 만들어서 하면된다.

let c=a;
a=b;
b=c;

이럴때 간다히 구현가능
[a,b]=[b,a];

🟥 나머지 매개변수, 전개구문

🟣arguments

함수로 넘어온 모든 인수에 접근
함수내에서 이용 가능한 지역변수
length/index
array 형태의 객체
배열의 내장 메서드 없음(forEach, map)x

🔹인수전달

function showName(name:갯수 제한 없음){
	console.log(name);
}
showName('mike');//'mike'
showName('mike','tom');//

showName();//undefined

🔹 전개구문

let arr1=[1,2,3];
let arr2=[4,5,6];
방법 1>
arr2.reverse().forEach(num=>{
 arr1.unshift(num);
});
방법2>
arr1=[...arr2,...arr1];

console.log(arr1);
//
[4,5,6,1,2,3]
profile
좋아하는 것을 하나하나 채워가면 행복해질꺼야
post-custom-banner

0개의 댓글