일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- nest.js 순환 참조
- ScrollView 무한 스크롤
- nest.js 순환 종속성
- react native 무한스크롤
- CSS
- HTML
- 개발
- React 테스트코드
- TodoList 테스트 코드
- 리액트 테스트
- react 테스트
- jest
- react testing library 비동기 테스트 사용법
- Testing-library/react
- mock api를 이용한 react 테스트
- FlatList 무한 스크롤
- React Testing Library
- 리액트 테스트 코드
- react
- react jest
- nest.js circular Dependency
- javascript 테스트
- 프로젝트 배포하기
- mock api 사용법
- 비동기 테스트
- JavaScript
- 첫코딩
- 첫 코딩
- nest.js forwardRef
- TDD방식으로 리액트 테스팅
Archives
- Today
- Total
성장을 위한 기록
JS(JavaScript) new Set, Array.from 배열 만들기 본문
new Set
new Set
을 간단하게 정리해보면 중복이 불가능한 데이터 집합이라 할 수 있다.
Set의 사용법은 다양하다.
Set 객체 사용
let mySet = new Set
//add
mySet.add(1); // Set { 1 }
mySet.add('1'); // Set { 1, '1' }
mySet.add('hello'); // Set { 1, '1', 'hello' }
//has
mySet.has(1); // true
mySet.has('a'); // false
mySet.has('hello'); // true
//delete
mySet.delete('hello'); // Set { 1, '1' }
mySet.delete(1); // Set { '1' }
//clear
mySet.clear() // Set { }
//size
// Set { 1, '1', 'hello' }
mySet.size // 3
외에도 배열을 합치는 방법으로도 사용되고 이용만 잘한다면 두 배열의 합집합, 차집합을 구할 수 있다.
//중복 없이 배열 합치기
let a = [1,2,3]
let b = [3,4,5]
let ab = Array.from(new Set([...a, ...b])) // {1,2,3,4,5} 중복 삭제
has, delete 등을 사용하면 배열을 합치는 과정에 다양한 방법을 사용할 수 있다.
Array.from
Array.from()
은 문자열 등 유사 배열(Array-like) 객체나 이터러블한 객체를 배열로 만들어주는 메서드입니다.
여기서 유사 배열이란?
인덱스가 키값이고 길이를 갖는 객체를 의미
기본 예제
console.log(Array.from('foo'));
// expected output: Array ["f", "o", "o"]
console.log(Array.from([1, 2, 3], x => x + x));
// expected output: Array [2, 4, 6]
다양한 예제
- 문자열에서 배열 만들기
Array.from('foo');
// ["f", "o", "o"]
- Set에서 배열 만들기
const s = new Set(['foo', window]);
Array.from(s);
// ["foo", window]
- Map에서 배열 만들기
const m = new Map([[1, 2], [2, 4], [4, 8]]);
Array.from(m);
// [[1, 2], [2, 4], [4, 8]]
const mapper = new Map([['1', 'a'], ['2', 'b']]);
Array.from(mapper.values());
// ['a', 'b'];
Array.from(mapper.keys());
// ['1', '2'];
- 배열 형태를 가진 객체에서 배열 만들기
function f(...arguments) {
return Array.from(arguments);
}
f(1, 2, 3);
// [1, 2, 3]
- 화살표 함수 사용
Array.from([1, 2, 3], x => x + x);
// [2, 4, 6]
Array.from({length: 5}, (v, i) => i);
// [0, 1, 2, 3, 4]
- 길이로 배열 만들기
const arr = Array.from({length: 5}, (v, i) => i);
//[0,1,2,3,4] 참고로 v는 undefined
//길이로만 사용하는 배열을 빠르게 만들 때 유용하다.
'FE (Front End) (구) > javascript' 카테고리의 다른 글
자바스크립트(JavaScript) 동시성 .이벤트 루프 (0) | 2022.06.06 |
---|---|
JS(JavaScript) 기본 구조 개념 [호이스팅, 스코프, TDZ, 객체 복사 ... ] (0) | 2022.05.20 |
js(JavaScript) addEventLister() 기본 개념, 약간 심화? (0) | 2022.05.18 |
JS(JavaScript) 웹 스토리지, 로컬 스토리지(local Storage) (0) | 2022.05.18 |
JS (JavaScript) map(), reduce() 기초 사용법 (0) | 2022.05.14 |
Comments