JavaScript/배열25 [JavaScript]배열을 섞는 방법 이번 포스팅에서는 JavaScript에서 배열을 섞는 방법을 소개합니다. Fisher-Yates Shuffle 알고리즘 Fisher-Yates Shuffle 알고리즘은 마지막 인덱스를 시작으로 반복문이 실행됩니다. 배열 요소를 순회하여 배열의 임의의 요소로 값을 변경합니다. 인덱스 위치가 0에 도달하면 반복문은 종료됩니다. 다음은 JavaScript에서 Fisher-Yates Shuffle 알고리즘이 적용될 배열입니다. let originArray = ["A", "B", "C" , "D", "E", "F" , "G", "H", "I"]; 배열을 인자로 받으며, 배열의 요소를 뒤섞는 함수를 정의합니다. const shuffleArray = (array) => { // ... } Fisher-Yates Sh.. JavaScript/배열 2021. 12. 20. [JavaScript]배열에 중복 값이 있는지 확인하는 방법 이번 포스팅은 JavaScript에서 배열에 중복 값이 있는지 확인하는 방법을 소개합니다. 목차 프리미티브 배열(Primitive of Array)과 객체(object) 프리미티브 배열(Primitive of Array)에서 중복 감지 객체 배열(Array of Objects)에서 중복 감지 프리미티브 배열(Primitive of Array)과 객체(Object) 프리미티브 배열(Primitive of Array)은 JavaScript의 원시 값을 요소로 하는 배열입니다. JavaScript의 원시 값 string, number, bigint, boolean, undefined, null 다음 문자열 배열에서 'A' === 'A'는 동일하므로 true입니다. const arr = ['A', 'A', 'B.. JavaScript/배열 2021. 12. 1. [JavaScript]배열이 비어있는지 확인하는 방법 이번 포스팅에서는 JavaScript에서 배열이 비어 있는지 확인하는 방법을 소개합니다. Array.length는 배열의 길이(length)를 반환합니다. 배열이 비어 있는지 확인하려면 length 속성이 0인지 체크합니다. const arr = []; if(arr !== 0) { console.log("Not Empty"); } JavaScript에서 0, null, undefined는 거짓으로 평가됩니다. 즉, 배열의 길이가 0인 경우 거짓이므로 if문과 같은 조건문에서 false로 평가됩니다. 다음은 위에서 작성한 코드를 심플하게 작성하였습니다. const arr = []; if(arr) { console.log("Not Empty"); } JavaScript는 타입을 체크하지 않기 때문에 변수(함.. JavaScript/배열 2021. 12. 1. [JavaScript]배열을 결합하는 방법 이번 포스팅에서는 두 개 이상의 1차원 배열을 결합하는 방법을 소개합니다. 목차 concat() 함수 Spread 연산자(...) push() 함수 concat() 함수 가장 기본적인 방법은 concat() 함수를 사용하여 두 개의 배열을 연결하는 것입니다. concat() 함수는 배열을 결합하고 새로운 배열을 반환합니다. console.log([1,2,3].concat([4,5,6])); console.log([4,5,6].concat([1,2,3])); 실행 결과 세 개 이상의 배열을 결합하는 경우 빈 배열( [] )을 활용할 수 있으며, concat() 함수에 여러 개의 배열을 인수로 전달합니다. let concatArr = [].concat([1,2], [3,4], [5,6]); console.l.. JavaScript/배열 2021. 11. 29. [JavaSciprt]배열을 비교하는 방법 이번 포스팅에서는 JavaScript에서 두 개의 배열을 비교하는 방법을 소개합니다. 목차 Array.prototype.every() Lodash의 isEqual() 함수 JSON.stringify() 정리 Array.prototype.every() 배열의 every() 함수를 사용하여 배열의 모든 요소가 비교 대상의 배열에도 존재하는지 확인할 수 있습니다. 길이가 동일하고 한 배열의 각 요소가 비교 대상의 배열에도 존재하면, 두 배열은 동일하다고 할 수 있습니다. const arr1 = [1, 2, 3]; const arr2 = [1, 2, 3]; const sameArray = arr1.length === arr2.length && arr1.every((value, idx) => value === a.. JavaScript/배열 2021. 11. 29. [JavaScript]배열에서 최댓값(max), 최솟값(min) 구하기 JavaScript에서 배열의 최댓값(max), 최솟값(min)을 구하는 방법을 정리합니다. 배열에서 최댓값, 최솟값을 구하는 방법은 반복문을 사용하여 구할 수 있으며, 숫자인 경우에는 JavaScript에서 지원하는 Math.max()와 Math.min()을 사용하여 구할 수 있습니다. 단, Math.max()와 Math.min() 함수는 숫자만 가능하기에 제한적입니다. 문자열의 최댓값, 최솟값을 구하고 싶다면, 배열의 프로퍼티 함수인 reduce 함수를 사용하거나 또는 sort 함수를 사용하여 정렬 후 첫 번째 인덱스와 마지막 인덱스의 값을 구하는 방법도 존재합니다. 목차 반복문을 사용하여 최댓값, 최솟값 구하기 Math.max와 Math.min 함수 사용하여 최댓값, 최솟값 구하기 reduce 함수.. JavaScript/배열 2021. 8. 13. [JavaScript]배열에서 중복값 제거하는 방법 JavaScript에서 배열의 중복 값을 제거하는 방법을 정리합니다. 목차 Set 객체와 spread 연산자 사용 filter 함수와 indexOf 함수 사용 filter 함수와 hasOwnProperty 함수 사용 sort 함수와 filter 함수 사용 sort 함수와 reduce 함수 사용 Set 객체와 spread 연산자 사용 Set 객체는 고유한 값을 가지는 객체입니다. Set 객체를 생성하여 중복 값이 없는 객체를 생성하고 spread( ... ) 연산자를 사용하여 Set 객체를 배열로 변환합니다. var arr = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]; var setObj = new Set(arr); console.log(setObj); var setArr = [...setO.. JavaScript/배열 2021. 8. 11. [JavaScript]배열의 요소를 추가하는 방법 JavaScript에서 배열의 요소를 추가하는 방법을 정리합니다. 기존 배열을 변경하는 push, unshift, splice 함수 그리고 length 프로퍼티를 사용하여 요소를 추가하는 방법 기존 배열을 변경하지 않고 새로운 배열을 생성하는 concat 함수와 spread( ... ) 연산자를 사용하여 요소를 추가하는 방법이 존재합니다. 목차 push 함수를 사용하여 배열의 마지막 위치에 요소를 추가 unshift 함수를 사용하여 배열의 첫 번째 위치에 요소를 추가 splice 함수를 사용하여 배열 요소를 추가 length 속성을 사용하여 배열 요소를 추가 concat 함수를 사용하여 배열 요소를 추가 spread 연산자를 사용하여 배열 요소를 추가 push 함수를 사용하여 배열의 마지막 위치에 요소를.. JavaScript/배열 2021. 8. 11. [JavaScript]배열의 요소를 삭제하는 방법 JavaScript에서 배열의 요소를 삭제하는 remove 함수가 존재하지 않습니다. remove 함수는 존재하지 않지만, 배열의 요소를 삭제할 수 있는 다양한 방법이 존재합니다. 이번 포스팅에서는 JavaScript에서 배열의 요소를 삭제하는 방법을 정리합니다. 목차 pop 함수를 사용하여 배열의 마지막 요소를 삭제 shift 함수를 사용하여 배열의 첫 번째 요소를 삭제 splice 함수를 사용하여 배열 요소를 삭제 filter 함수를 사용하여 조건에 일치하는 새 배열을 생성 delete 연산자를 사용하여 배열 요소를 삭제 pop 함수를 사용하여 배열의 마지막 요소를 삭제 pop() 함수는 배열의 마지막 요소를 삭제합니다. 반환 값은 삭제된 요소의 값입니다. var arr = ['A', 'B', 'C'.. JavaScript/배열 2021. 8. 11. [JavaScript]배열의 특정 값을 찾는 find, findIndex 함수 JavaScript에서 find 함수와 findIndex 함수는 조건을 만족하는 배열 요소의 값 또는 인덱스를 찾기 위해 사용하는 함수입니다. find 함수는 배열의 요소를 순차적으로 순회하면서 조건에 일치하는 요소의 값을 즉시 반환합니다. 조건을 일치하는 경우가 없다면, undefined를 반환합니다. findIndex 함수는 배열의 요소를 순차적으로 순회하면서 조건에 일치하는 요소의 인덱스를 반환합니다. 조건을 일치하는 경우가 없다면, -1을 반환합니다. find 함수 arr.find(callback(element, index, array), thisArg) findIndex 함수 arr.findIndex(callback(element, index, array), thisArg) 매개변수는 find .. JavaScript/배열 2021. 8. 10. [JavaScript]filter함수 사용 방법 JavaScript에서 filter 함수는 배열의 요소를 순차적으로 순회하면서 조건에 일치하는 요소를 모아 새로운 배열을 반환합니다. arr.filter(callback(element, index, array), thisArg) arr - 순회하고자 하는 배열 element - 현재 배열의 요소 index(생략 가능) - 현재 배열 요소의 index array(생략 가능) - filter 함수를 호출한 배열 thisArg(생략 가능) - callback을 실행할 때 this로 사용되는 값(= map 함수에서 사용될 this값) filter 함수의 특징 값이 존재하는 인덱스에 대해서만 호출됩니다. 삭제 또는 값이 없는 배열은 filter 함수가 실행되지 않습니다. 기존 배열의 값을 변경하지 않습니다. 처리.. JavaScript/배열 2021. 8. 9. [JavaScript]reduce함수 사용 방법 JavaScript에서 reduce 함수는 배열의 요소를 순차적으로 순회하면서 리듀서(reducer) 함수를 실행하고 하나의 결과값을 반환합니다. 배열 요소의 순회는 initialValue에 설정 유무에 따라 순회를 시작하는 index 0부터 시작할수도 있고 index 1부터 시작할수도 있습니다. 주로 배열 요소의 합계를 계산하는데 사용 되며, 배열 또는 객체로 반환할 수도 있습니다. arr.reduce(callback(accumulator, currentValue, index, array), initialValue) arr - 순회하고자 하는 배열 accumulator - 누적되는 값 - callback 함수의 반환값을 누적 - initialValue를 설정한 경우 callback의 최초 호출시 ini.. JavaScript/배열 2021. 8. 9. 이전 1 2 3 다음