라벨이 reduce인 게시물 표시

[JavaScript] array (배열)

배열은 순서가 있는 데이터를 저장할 때 사용되는 자료구조 이다. 예를들면 html 요소 목록, 1등부터 3등까지 순위 등등 순서대로 데이터를 정렬할때 사용한다. 배열은 값이 들어오는 순서대로 정렬되며 특별한 객체이다. 그렇다면 객체를 사용하여 데이터를 정렬해도 될 수 있다고 생각할 수 있지만 배열은 우리가 알고있는 객체와는 조금 다른 특별한 객체이며, 일반적인 객체의 경우 데이터 목록을 만들 수 있지만 순서대로 자료를 저장할 수 없다. 일반 객체는 배열처럼 데이터를 순서대로 작성하여도 순서대로 저장과 출력이 되지 않는다. 위에서 말했듯이 배열은 특별한 객체이다. 배열 또한 객체와 같이 프로퍼티를 추가하거나 하는등의 동작을 할 수 있다. 하지만 배열은 순서가있는 자료들을 다루는데 특화되어있으므로 일반적인 객체와 같이 프로퍼티를 추가한다던가 할 경우 순서대로 일을 처리하는것에 최적화되어 동작할 수 있는 방식을 방해하게 되므로 배열이 가지고있는 최적화된 성능이 떨어지게 된다. 그러므로 프로퍼티를 추가하거나 임의의 키를 사용해야 한다면 배열보다는 일반 객체를 사용하는것이 좋다. 배열은 일반적으로 아래와 같은 두가지 문법을 사용한다. let arr = []; let arr = new Array (); let fruits = [ "apple" , "banana" , "lemon" ]; console . log ( fruits [ 0 ]); // apple console . log ( fruits [ 1 ]); // banana console . log ( fruits [ 2 ]); // lemon 배열에는 문자열 이외에도 객체, 함수, boolean 그리고 자기 자신과 동일한 자료형인 배열 등등의 여러가지 자료형이 들어올 수 있다. 배열 안에 값을 출력하기 위해서는 인덱스 값을 사용하여야 한다. 일반적으로 사람들은 1번, 2번, 3번과 같이 숫자를 1부터 세지만 컴퓨터의 경우 0부터 숫자를 세기 때문에 첫

[JavaScript] reduce : 값을 축약하는 함수

reduce :  값을 축약하는 함수 arr.reduce( callback(accumulator, item, index, array), [initialValue] ) array.reduce((누적값, 현잿값, 인덱스, 요소) => { return 결과 }, [초깃값]); - 콜백 함수의 인수 - accumulator - 이전 함수 호출에 대한 결과 item - 현재 배열의 요소 index - 요소의 위치 array - 배열 initialValue - 옵션값이며 함수 최초 호출시 사용되는 초깃값이다. 옵션이지만 필수적으로 적는것이 좋다. 배열에 요소가 하나도 없는 빈배열이 존재할 경우 오류를 반환하게 되므로 초깃값을 설정하는것이 좋다. (권장) 콜백함수에서 다른것은 생략가능하지만 누적값과 현재값은 필수이다. //초깃값 설정X let result = a . reduce (( acc , cur ) => { return acc + cur }); console . log ( result ); // 15 //초깃값 1000 설정 const a = [ 1 , 2 , 3 , 4 , 5 ]; let result = a . reduce (( acc , cur ) => { return acc + cur ; }, 1000 ); console . log ( result ); // 1050 덧셈, 뺄셈 이외에도 아래와 같이 초깃값을 빈 배열로 주고 기존 배열을 가지고 순차적으로 값을 평가하여 빈 배열에 하나씩 넣어서 평가된 값을 담은 새로운 배열을 반환하는등의 역할을 할 수 있도록 코드를 작성하는것도 가능하다. const a = [ 1 , 2 , 3 , 4 , 5 ]; let makeArr = a . reduce (( acc , cur ) => { acc . push ( cur % 2 === 0 ? "짝수" : "홀수" ); return acc ; }, []