[]
를 사용해서 배열을 만들고, 배열 안에 있는 데이터들은,
를 사용하여 구분한다.var color = [ 'red', 'blue', 'green']
배열을 그림으로 표현하면 다음과 같다
var arr = [1, 2, 3, 4, 5]; console.log(arr.push('6')); => [1, 2, 3, 4, 5, 6]
var arr = [1, 2, 3, 4, 5]; console.log(arr.unshift('6')); => [6, 1, 2, 3, 4, 5]
var arr = [1, 2, 3, 4, 5]; console.log(arr.splice(1,1,9)); => [1, 9, 3, 4, 5]
var arr = [1, 2, 3, 4, 5]; console.log(arr.shift()); => [2, 3, 4, 5]
var arr = [1, 2, 3, 4, 5]; console.log(arr.pop()); => [1, 2, 3, 4]
var arr = [b, c, a, e, d]; console.log(arr.sort()); => [a, b, c, d, e]
**오름차순** var arr = [1, 111, 4, 222, 10, 3]; arr.sort(function (a,b){ return a-b; }); => [1, 3, 4, 10, 111, 222]
**내림차순** var arr = [1, 111, 4, 222, 10, 3]; arr.sort(function (a,b){ return b-a; }); => [1, 3, 4, 10, 111, 222]
let animals = [ { name: 'lion', size: 'big', weight: 200 }, { name: 'monkey', size: 'medium', weight: 30 }, { name: 'cat', size: 'small', weight: 10 }, { name: 'rat', size: 'small', weight: 2 } ]; animals.sort(function(a,b){ return a.name < b.name ? -1 : a.name > b.name ? 1 : 0; }); => 0: {name: "cat", size: "small", weight: 10} 1: {name: "lion", size: "big", weight: 200} 2: {name: "monkey", size: "medium", weight: 30} 3: {name: "rat", size: "small", weight: 2}
var a = '오늘 날씨가 좋다'; console.log(a.split('')); (9) ['오', '늘', ' ', '날', '씨', '가', ' ', '좋', '다']
var a = ['오', '늘', ' ', '날', '씨', '가', ' ', '좋', '다']; console.log(a.reverse()); (9) ['다', '좋', ' ', '가', '씨', '날', ' ', '늘', '오']
let animals = [ { name: 'lion', size: 'big', weight: 200 }, { name: 'monkey', size: 'medium', weight: 30 }, { name: 'cat', size: 'small', weight: 10 }, { name: 'rat', size: 'small', weight: 2 } ]; let result1 = animals.find(i => i.name =="cat"); console.log(result1); => {name: "cat", size: "small", weight: 10}
let animals = [ { name: 'lion', size: 'big', weight: 200 }, { name: 'monkey', size: 'medium', weight: 30 }, { name: 'cat', size: 'small', weight: 10 }, { name: 'rat', size: 'small', weight: 2 } ]; let result2 = animals.findIndex(i => i.name =="cat"); console.log(result2); => 2
출처: https://aljjabaegi.tistory.com/312 [알짜배기 프로그래머]
let animals = [ { name: 'lion', size: 'big', weight: 200 }, { name: 'monkey', size: 'medium', weight: 30 }, { name: 'cat', size: 'small', weight: 10 }, { name: 'rat', size: 'small', weight: 2 } ]; let result = animals.filter(i => i.size =="small"); console.log(result); => {name: "cat", size: "small", weight: 10} {name: "rat", size: "small", weight: 2}
글자 수가 4개 이상 출력
let colors = ['red', 'blue', 'black', 'green', 'orange', 'yellow']; let result = colors.filter(color => color.length > 3); console.log(result); => [ 'blue', 'black', 'green', 'orange', 'yellow' ]
18을 초과하는 숫자 출력
함수를 만들고filter
안에 넣어준다function aboveEighteen(number){ return number > 18; } let numbers = [12, 5, 8, 33, 22, 18].filter(aboveEighteen); console.log(numbers); => [33, 22]
짝수만 출력
function isEven(number){ return number % 2 == 0; } let filter_numbers = [10, 1, 3, 99, 123].filter(isEven); console.log(filter_numbers); => [10]
배열값에 각각 2씩 더한 값을 출력한다.
화살표 함수형 표현 var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var newNumbers = numbers.map(num =>num + 2); console.log(newNumbers); => [3, 4, 5, 6, 7, 8, 9, 10, 11] 함수형으로 표현 var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var newNumbers = numbers.map(function(num) { return num + 2; }); console.log(newNumbers); => [3, 4, 5, 6, 7, 8, 9, 10, 11]
곱셈 함수를 만들어고 새로운 변수를 선언해 함수를 넣어 값을 출력
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; function multiplyTwo(num){ return num * 2; }; var newNumbers = numbers.map(multiplyTwo); console.log(newNumbers); => [2, 4, 6, 8, 10, 12, 14, 16, 18]
객체 배열에 특정 키값 불러오기
var students = [ {id: 1, name: 'tom'}, {id: 2, name: 'james'}, {id: 3, name: 'jerry'}, {id: 4, name: 'john'}, ]; var names = students.map(student => student.name); console.log(names); => [ 'tom', 'james', 'jerry', 'john' ]
배열에 2씩 곱하고 반대로 출력
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var nembersReverse = numbers.map(num => num * 2).reverse(); console.log(nembersReverse); =>[18, 16, 14, 12, 10, 8, 6, 4, 2]
배열 안에 배열 넣기
var numbers = [[1, 2, 3], [4, 5, 6],[ 7, 8, 9]]; var newNumbers = numbers.map(array => array.map(num => num * 2)); console.log(newNumbers); => [ [ 2, 4, 6 ], [ 8, 10, 12 ], [ 14, 16, 18 ] ]
let colors = ['red', 'blue', 'green']; //colors.forEach((item, index, arr) => {}); // 첫번째 매개변수는 요소, 두번재는 인덱스, 세번째는 배열 그자체 // item : red blue green // index : 0 1 2 // arr : colors colors.forEach(name => { console.log(name); }); // red, blue, green
let numbers = [1, 2, 3, 4, 5, 6, 7]; 함수형 numbers.forEach(function(number){ console.log(number); }); 화살표 함수형 numbers.forEach(number =>{ console.log(number); }); => 1 2 3 4 5 6 7
배열에 값을 추가하고 리턴한다.
let fruits = ['banana', 'apple', 'orange' , 'grape']; let fruits2 = ['cherry']; fruits.forEach(item => fruits2.push(item)); console.log(fruits2); => [ 'cherry', 'banana', 'apple', 'orange', 'grape' ]
배열의 총합을 구한다.
let sum = 0; let numbers = [20, 11, 33, 10, 7, 77]; numbers.forEach(addTotal); function addTotal(number){ sum += number; }; console.log(sum); => 158 아래 코드를 사용해도 결과값이 같다. numbers.forEach(number => { sum += number; });
함수 인수를 활용해서 배열에 곱하기 2 값을 출력
let numbers = [20, 11, 33, 10, 7, 77]; numbers.forEach((number, index, array) => { array[index] = number * 2; }); console.log(numbers); => [ 40, 22, 66, 20, 14, 154 ]
let animals = [ { name: 'lion', size: 'big', weight: 200 }, { name: 'monkey', size: 'medium', weight: 30 }, { name: 'cat', size: 'small', weight: 10 }, { name: 'rat', size: 'small', weight: 2 } ]; let sum = animals.reduce((prev, cur) => { return (prev += cur.weight) }, 0); => 242