배열 재정렬
배열자체가 변경되는 주의
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]
배열을 돌면서 합한다.
(현재까지 누적된 계산값, 현재값)=>{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];
함수로 넘어온 모든 인수에 접근
함수내에서 이용 가능한 지역변수
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]