const numName0 = ['One', 'Two', 'Three'];
const numName1 = ['Four', 'Five', 'Six'];
const users = [
{name: 'Poppy', age: 35},
{neme: 'GguGGu', age: 3},
{name: 'An84', age: 40}
]
배열의 아이템 갯수를 반환
console.log(numName0.length); // 3
배열의 인덱싱기능과 같으나 추가 기능으로 음수를 사용해 백카운팅을 하여 배열의 맨뒤(-1)부터 접근가능
console.log(numName0.at(0)); // One
console.log(numName0.at(-1)); // Three
console.log(numName0.at(-3)); // One
console.log(numName0.at(-4)); // undefined
대상배열 뒤쪽으로 이어서 인수로 배열을 병합해 새로운 배열데이터로 반한
console.log(numName0); // (3) ['One', 'Two', 'Three']
console.log(numName1); // (3) ['Four', 'Five', 'Six']
const numName2 = numName0.concat(numName1);
console.log(numName2); // (6) ['One', 'Two', 'Three', 'Four', 'Five', 'Six']
// 전개연산자를 사용해서도 병합가능
const spreadNumName = [...numName0, ...numName1];
console.log(spreadNumName); // (6) ['One', 'Two', 'Three', 'Four', 'Five', 'Six']
true
로 반환함false
반환const check = numName0.every(numverName => numverName.length >= numName0.length);
console.log(check); // true
const numFilter = numName0.filter(numverName => numverName.length === numName0.length);
console.log(numFilter); // (2) ['One', 'Two']
const usersFilter = users.filter(user => user.age >= 19);
console.log(usersFilter);// [{"name": "Poppy", "age": 35 }, { "name": "An84","age": 40 }]
대상의 아이템들을 차례로 콜백함수의 매개변수로 넣어 콜백함수 로직의 결과가 참이 첫 번째 아이템만 반환(참인 첫번째 아이템 반환후 콜백을 반복하지 않음)
const findItem = numName0.find(item => item === 'Two');
console.log(findItem); // Two
const findUser = users.find(item => item.age === 3);
console.log(findUser); // {neme: 'GguGGu', age: 3}
대상의 아이템들을 차례로 콜백함수의 매개변수로 넣어 콜백함수의 결과가 참인 첫번째 아이템의 인덱스번호를 반환(참인 첫번째 아이템 인덱스번호 반환후 콜백을 반복하지 않음)
const findItemIndex = numName0.findIndex(item => item ==='One');
console.log(findItemIndex); // 0
.flat(Infinity);
: 하위배열이 몇개인지 모를때 모두병합할때 사용대상의 아이템 갯수만큼 반복해서 콜백함수를 실행함(중간에 반복문 못멈춤 -> for반복문의 break기능 없음)
numName0.forEach(item => console.log(item)); // One Two Three 차례로 콘솔에 한줄씩 출력
대상이 인수와 같은 아이템이 있는지 논리 데이터로 반환함
console.log(numName0.includes('Three')); // true
console.log(numName0.includes('Six')); // false
console.log(numName0.join()); // One,Two,Three
console.log(numName0.join(' * ')); // One * Two * Three
대상배열의 아이템이 콜백함수의 매개변수로 들어가 로직을 실행해 나온값을 병합해 새로운 배열로 반환
const newNumName = numName0.map(item => item + ' ' + Math.random().toFixed(3));
console.log(newNumName); // (3) ['One 0.199', 'Two 0.778', 'Three 0.705'] -> 뒤의 숫자는 랜덤
const userPropertyAdd = users.map(property => ({
...property,
city: null,
isValid: true
}));
console.log(userPropertyAdd);
// (3) [{…}, {…}, {…}]
// 0: {name: 'Poppy', age: 35, city: null, isValid: true}
// 1: {neme: 'GguGGu', age: 3, city: null, isValid: true}
// 2: {name: 'An84', age: 40, city: null, isValid: true}
// length: 3
// [[Prototype]]: Array(0)
console.log(numName0.shift()); // One
console.log(numName0); // (2) ['Two', 'Three']
console.log(users.pop()); // {name: 'An84', age: 40}
console.log(users);
// (2) [{…}, {…}]
// 0: {name: 'Poppy', age: 35}
// 1: {neme: 'GguGGu', age: 3}
// length: 2
// [[Prototype]]: Array(0)
console.log(numName1.push('Seven', 'Eight')); // 5
console.log(numName1); // (5) ['Four', 'Five', 'Six', 'Seven', 'Eight']
console.log(numName0.reduce((delivery, item) => delivery + item, 'number '));
// 실행순서
// 1. 'number '가 매개변수delivery로 들어가서 반환 'number One'
// 2. 'number One'가 매개변수delivery로 들어가서 반환 'number OneTwo'
// 3. 'number OneTwo'가 매개변수delivery로 들어가서 최종 반환값 'number OneTwoThree'
배열의 순서를 반전시킴 원본데이터도 변경됨
console.log(numName0.reverse()); // (3) ['Three', 'Two', 'One']
console.log(numName0); // (3) ['Three', 'Two', 'One']
대상의 배열을 콜백 반환값에 따라 정렬함, 대상 배열의 원본도 순서 변경
// 작은숫자부터 큰숫자 차례로 정렬
arr.sort((a, b) => a - b);
// 큰숫자부터 작은숫자 차례로 정렬
arr.sort((a, b) => b - a);
numName0.splice(2, 1, '하나','둘');
console.log(numName0); // (4) ['One', 'Two', '하나', '둘']
🎮 패스트캠퍼스
프론트엔드 웹 개발의 모든 것 초격차패키지 Online.
정보에 감사드립니다.