
n이 시작, m이 개수
let arr = [1,2,3,4,5];
arr.splice(1,2);
console.log(arr); // [1,4,5]
n이 시작, m이 개수를 지우고 x 추가
let arr = [1,2,3,4,5];
arr.splice(1,3,100,200);
console.log(arr); // [1,100,200,5]
두번째 인수에 0을 넣으면 아무것도 지우지않고 추가함.
let arr = [1,2,3,4,5];
let result = arr.splice(1,3);
console.log(arr); // [2,3,4]
let arr = [1,2,3,4,5];
arr.splice(1,4);
console.log(arr); // [2,3,4]
let arr = [1,2];
arr.concat([3,4]); // [1,2,3,4]
arr.concat([3,4], [5,6]); // [1,2,3,4,5,6]
arr.concat([3,4],5,6); // [1,2,3,4,5,6]
let users = ['Mike', 'Tom', 'Jane'];
users.forEach((item, index, arr) => {
});
let arr = [1,2,3,4,5,1,2,3];
arr.indexOf(3); //2
arr.indexOf(3,3); // 7
arr.lastIndexOf(3); // 7
배열에 해당 인자가 포함되면 true 포함되지 않으면 false
let arr = [1,2,3];
arr.includes(2); // true
arr.includes(8) // false
let arr = [1,2,3,4,5];
arr.reverse(); // [5,4,3,2,1]
함수를 받아 특정 기능을 시행하고 새로운 배열을 반환
let userList = [
{ name: "Mike", age: 30},
{ name: "Jane", age: 27},
{ name: "Tom", age: 10}, ];
let newUserList = userList.map((user, index) => {
return Object.assign({}, user, { id: index +1, isAdult: user.age > 19,});
});
console.log(newUserList);
/*
{ name: 'Mike', age: 30, id: 1, isAdult: true },
{ name: 'Jane', age: 27, id: 2, isAdult: true },
{ name: 'Tom', age: 10, id: 3, isAdult: false }
]
*/
console.log(userList);
/*
[
{ name: 'Mike', age: 30 },
{ name: 'Jane', age: 27 },
{ name: 'Tom', age: 10 }
]
*/
배열의 내용을 문자열로 합치기
let arr = ["안녕", "나는", "철수야"];
let result = arr.join();
console.log(result); // "안녕,나는,철수야"
문자열을 인자기준으로 잘라줌
let str = "Hello, My name is Mike.";
const result = str.split(",");
console.log(result); //[ 'Hello', ' My name is Mike.' ]
배열인지 아닌지 확인
let user = { name: "Mike", age: 30};
let userList = ["Mike","Tom","Jane"];
console.log(typeof user); //object
console.log(typeof userList); //object
console.log(Array.isArray(user)); //false
console.log(Array.isArray(userList)); //true
let arr = [27, 8, 5, 13];
arr.sort((a, b) => {
console.log(a, b);
/*
8 27
5 8
13 5
13 8
13 27
*/
return a - b ;
});
console.log(arr);
인수를 함수로 받음
let arr = [ 1,2,3,4,5];
const result = arr.reduce((prev, cur) => { //prev는 누적값
return prev + cur;
}, 0);// 초기값은 옵셔널이라 안써도 됨. 안쓸 경우 첫번째 배열값이 들어감
console.log(result);
구조 분해 할당 구문은 배열이나 객체의 속성을 분해해서 그 값을 변수에 담을 수 있게 하는 표현식
let users = ['Mike', 'Tom', 'Jane'];
let [user1, user2, user3] = users;
/*
아래와 동일
let user1 = users[0];
let user2 = users[1];
let user3 = users[2];
*/
let [a,b,c] = [1,2]; //c는 undefined, 에러 방지를 위해 기본값을 지정해주는 것이 좋음.
let user = {name: 'Mike', age: 30};
let {name, age} = user; // 인자 순서는 상관없음, 키값 변경가능
/*
아래와 같음
let name = user.name;
let name = user.age;
*/
function showName(name) { // 인자에 개수 제한 없음
console.log(name);
}
showName('Mike'); // "Mike"
showName('Mike', 'Tom');; // "Mike"
showName(); // undefined
function showName(name) { // 인자에 개수 제한 없음
console.log(arguments.length);
console.log(arguments[0]);
console.log(arguments[1]);
}
showName('Mike'); // "Mike"
function showName(...names) {
console.log(names);
}
showName('Mike'); // [ 'Mike' ]
showName('Mike', 'Tom');; // [ 'Mike', 'Tom' ]
showName(); // [ ]
let arr1 = [1,2,3];
let arr2 = [4,5,6];
let result = [0, ...arr1, ...arr2, 7, 8, 9]; // [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
let arr = [1,2,3];
let arr2 = [...arr]; // [1,2,3]
let user = {name:'Mike', age:30};
let user2 = {...user};
user2.name = "Tom";
console.log(user.name); // "Mike"
console.log(user2.name); // "Tom"
let one;
one =1;
function addOne(num) {
console.log(one + num);
}
addOne(5)
function makeCounter() {
let num = 0;
return function() {
return num++;
};
}
let counter = makeCounter();
console.log(counter()); // 0
console.log(counter()); // 1
console.log(counter()); // 2
일정 시간이 지난 후 함수를 실행
function fn() {
console.log(3);
}
setTimeout(fn, 3000);
// 위와 같음
setTimeout(function fn() {
console.log(3);
}, 3000);
// 인수가 필요하다면 세번째 인수로 전달
function showName(name) {
console.log(name);
}
setTimeout(showName, 3000, 'Mike'); //함수, 시간, 인수
일정 시간 간격으로 함수를 반복
// 인수가 필요하다면 세번째 인수로 전달
const tId = function showName(name) {
console.log(name);
}
// 3초마다 실행
setInterval(showName, 3000, 'Mike'); //함수, 시간, 인수
// 중단하려면
clearInterval(tId);
출처: 유투버 코딩앙마 - 자바스크립트 중급강좌 7 ~ 12