let arr = [1, 2, 3, 4, 5];
arr.splice(1, 2); // idx 1 부터 2개 삭제
console.log(arr);
// arr = [1, 4, 5]
let arr = [1, 2, 3, 4, 5];
arr.splice(1, 2, '가', '나');
console.log(arr);
// [1,"가","나",4,5]
let arr = [1, 2, 3, 4, 5];
arr.splice(1, 0, '가', '나');
// m = 0일 경우, 아무 요소도 지우지 않고 새로운 요소 추가 가능
console.log(arr);
// [1,"가","나",2,3,4,5]
let arr = [1, 2, 3, 4, 5];
let result = arr.splice(1, 2);
console.log(arr); // [1,4,5]
console.log(result); // [2, 3]
let arr = [1, 2, 3, 4, 5]
let arr2 = arr.slice(1, 4);
let arr3 = arr.slice(); // n, m값이 없을 시 배열 복사
console.log(arr); // [1,2,3,4,5]
console.log(arr2); // [2,3,4]
console.log(arr3) // [1,2,3,4,5]
let arr1 = [1, 2];
let arr2 = ['가', '나'];
let arr3 = ['a', 'b'];
let result = arr3.concat(arr1, arr2);
console.log(arr3); // ["a","b"]
console.log(result); // ["a","b",1,2,"가","나"]
console.log(arr1.concat([3, 4], [5, 6])); // [1,2,3,4,5,6]
console.log(arr1.concat([3, 4], 5, 6)); // [1,2,3,4,5,6]
let users = ['Mike', 'Jane', 'Tom'];
// (1) 일반 함수 사용
users.forEach(function(e, i){
console.log(`${i}. ${e}`);
})
/*
"0. Mike"
"1. Jane"
"2. Tom"
*/
// (2) 화살표함수 사용
users.forEach((item, index, arr) => {
console.log(item, index, arr);
});
/*
"Mike" 0 ["Mike","Jane","Tom"]
"Jane" 1 ["Mike","Jane","Tom"]
"Tom" 2 ["Mike","Jane","Tom"]
*/
users.forEach((e, i) => {
console.log(`${i}. ${e}`);
});
/*
"0. Mike"
"1. Jane"
"2. Tom"
*/
let arr = [1, 2, 3, 4, 3, 4, 5, 6, 7];
console.log(arr.indexOf(3));
// 2
console.log(arr.indexOf(3, 3));
// 4
// idx 3부터 탐색 시작 -> 두 번째 3만 탐색됨
console.log(arr.lastIndexOf(3));
// 4
// 끝에서부터 탐색하여 뒤에 있는 3이 먼저 탐색됨
let arr = [1, 2, 3, 4, 5, 6, 7, [8, 9]];
let arr2 = [8, 9];
console.log(arr.includes(3)); // true
console.log(arr.includes(111)); // false
console.log(arr.includes([3, 4])); // false
console.log(arr.includes([8, 9])); // false
console.log(arr.includes(arr2)); // false
includes()의 인수로 배열이나 변수는 받을 수 없나?
let arr = [1, 2, 3, 4, 5, 6, 7, [8, 9]];
console.log(arr.includes(1, 0)); // true
console.log(arr.includes(1, 1)); // false
let arr = [1, 2, 3, 4, 5];
let result = arr.find((item) => {
console.log('item == ', item);
return item % 2 === 0;
});
console.log(result);
/*
"item == " 1
"item == " 2
2
*/
let userList = [
{name: 'Mike', age: 30},
{name: 'Lisa', age: 15},
{name: 'Stasy', age: 9},
];
// 미성년자 찾기
let result = userList.find((user, idx) => {
if(user.age < 20){
return true;
// true가 되면 해당 요소(user)을 result로 반환함
}
return false;
});
console.log(result); // {name: "Lisa", age: 15}
console.log(result.name); // "Lisa"
let result = userList.findIndex((user, idx) => {
if(user.age < 20){
return true;
// true가 되면 해당 요소(user)을 result로 반환함
}
return false;
});
console.log(result); // 1
let userList = [
{name: 'Mike', age: 30},
{name: 'Lisa', age: 15},
{name: 'Stasy', age: 9},
];
// 미성년자 찾기
let result = userList.filter((user, idx) => {
if(user.age < 20){
return true;
}
return false;
});
console.log(result);
// [{name: 'Lisa', age: 15}, {name: 'Stasy', age: 9}]
let arr = [1, 2, 3, 4, 5];
arr.reverse();
console.log(arr);
// [5, 4, 3, 2, 1]
let arr = [1, 2, 3, 4];
let arr2 = arr.reverse();
arr[0] = 100;
console.log(arr); // [100,3,2,1]
console.log(arr2); // [100,3,2,1]
console.log(arr === arr2) // true
let userList = [
{name: 'Mike', age: 30},
{name: 'Lisa', age: 15},
{name: 'Stasy', age: 9},
];
// isAdult라는 프로퍼티를 추가한 새로운 배열 생성할 것
let result = userList.map((user, index)=>{
// Object.assign(초기 객체, 복사할 객체, 추가할 객체)
return Object.assign({}, user, {
id: index + 1,
isAdult: user.age > 19,
});
});
console.log(result);
/*
[
{name: 'Mike', age: 30, id: 1, isAdult: true}
{name: 'Lisa', age: 15, id: 2, isAdult: false}
{name: 'Stasy', age: 9, id: 3, isAdult: false}
]
*/
let arr = ['안녕', '나는', '성원이야'];
let result = arr.join();
let result2 = arr.join('☆');
console.log(result);
console.log(result2);
// "안녕,나는,성원이야"
// "안녕☆나는☆성원이야"
console.log(arr);
// ['안녕', '나는', '성원이야']
const users = "Mike, Jane, Tom, Jason";
const result = users.split(', ');
const result = users.split(',');
const result3 = users.split('');
console.log(result);
// ["Mike","Jane","Tom","Jason"]
console.log(result2);
// ["Mike"," Jane"," Tom"," Jason"]
console.log(users);
// "Mike, Jane, Tom, Jason"
console.log(result3);
// ["M","i","k","e",","," ","J","a","n","e",","," ","T","o","m",","," ","J","a","s","o","n"]
// 객체
let user = {
name : "Mike",
age : 30,
};
// 배열
let userList = ["Mike", "Tom"];
console.log(typeof user); // "object"
console.log(typeof userList); // "object"
console.log(Array.isArray(user)); // false
console.log(Array.isArray(userList)); // true
기존 배열 변경
: .splice(), .reverse()