세트를 어레이로 변환하는 방법
집합은 고유한 요소가 보장된 배열을 만드는 좋은 방법처럼 보이지만 생성기 [세트]를 제외하고 속성을 가져오는 좋은 방법은 표시되지 않습니다.어색하게 부르는 가치관mySet.values.next()
.
「 」로 전화할 수 좋았을 입니다.map
및 유사한 기능을 제공합니다.이데올로기 때문에
Array.from
(Node List type Type Arrays ) 。만 어레이로 변환하고 있는 것 같습니다.: ★★★★★★★★★★★★★★:Object.keys
Sets(설정) Set.protype(설정).
자, 질문은 다음과 같습니다.특정 세트의 값을 사용하여 어레이를 작성하는 편리한 임베디드 방법이 있습니까?(요소의 순서는 그다지 중요하지 않습니다).
를 들어 '어울리지 않다', '어울리지 않다', '어울리지 않다', '어울리지 않다'와같은 수 . 를를 、 용용for...of
또또이 , , , , , , , , ,?
를 들어 '어울리지 않다', '어울리지 않다', '어울리지 않다', '어울리지 않다'와같은 수 . 를를 、 용용
for...of
또또이 , , , , , , , , ,?
실제로 세트를 어레이로 변환하는 방법은 여러 가지가 있습니다.
- 사용방법:
주의: TypeScript는 안전합니다.
const array = Array.from(mySet);
- 어레이로 간단하게 설정:
주의: TypeScript를 사용하여 컴파일할 때 세트 확산에 문제가 있습니다(호 #8856 참조).사용하는 것이 안전하다Array.from
대신 위에 있습니다.
const array = [...mySet];
- 및 방식에는 「」가 있습니다).
forEach
const array = [];
mySet.forEach(v => array.push(v));
- 이전에는 비표준 어레이 이해 구문을 사용했지만 지금은 사용되지 않습니다.
const array = [v for (v of mySet)];
https://speakerdeck.com/anguscroll/es6-uncensored 경유 (Angus Croll)
보니 '나 '우리'를 쓸 수 요.spread
★★★★★★★★★★★★★★★★★★:
var myArr = [...mySet];
또는 다음을 사용합니다.
var myArr = Array.from(mySet);
「 」를 하고 있는 로 하고 .Set
일시적으로 어레이 내에서 원하는 값을 얻은 후 어레이로 변환하려면 다음을 사용하십시오.
_.uniq([])
이것은 언더스코어 또는 lo-dash를 사용하는 것에 의존합니다.
파티에 늦었을 수도 있지만, 당신은 다음과 같이 할 수 있습니다.
const set = new Set(['a', 'b']);
const values = set.values();
const array = Array.from(values);
이는 ES6를 지원하는 브라우저 또는 위의 기능을 올바르게 폴리필하는 심이 있는 경우 문제없이 동작합니다.
편집: 현재는 @c69가 제안하는 것만 사용할 수 있습니다.
const set = new Set(['a', 'b']);
const array = [...set]; // or Array.from(set)
원하는 결과를 얻으려면 분산 연산자 사용
var arrayFromSet = [...set];
제 경우 해결책은 다음과 같습니다.
var testSet = new Set();
var testArray = [];
testSet.add("1");
testSet.add("2");
testSet.add("2"); // duplicate item
testSet.add("3");
var someFunction = function (value1, value2, setItself) {
testArray.push(value1);
};
testSet.forEach(someFunction);
console.log("testArray: " + testArray);
value1은 value2 => Set의 현재 위치에 포함된 값입니다.양쪽 인수에 대해 같은 값이 전달됩니다.
IE11에서 동작.
Set을 사용하여 어레이로 변환하는 것은 어레이를 복사하는 것과 매우 유사합니다.
따라서 ES6에서 매우 쉬운 어레이 복사에도 동일한 방법을 사용할 수 있습니다.
예를 들어,...
아래에 다음과 같은 세트가 있다고 가정합니다.
const a = new Set(["Alireza", "Dezfoolian", "is", "a", "developer"]);
다음의 방법으로 간단하게 변환할 수 있습니다.
const b = [...a];
결과는 다음과 같습니다.
["Alireza", "Dezfoolian", "is", "a", "developer"]
어레이에 사용할 수 있는 모든 방법을 사용할 수 있게 되었습니다.
기타 일반적인 방법:
const b = Array.from(a);
또는 다음과 같은 루프를 사용합니다.
const b = [];
a.forEach(v => b.push(v));
다음 코드는 어레이에서 세트를 작성한 후...
교환입니다.
var arr=[1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,];
var set=new Set(arr);
let setarr=[...set];
console.log(setarr);
가장 간단한 답변
[ ] 안에 세트를 펼치기만 하면 됩니다.
let mySet = new Set()
mySet.add(1)
mySet.add(5)
mySet.add(5)
let arr = [...mySet ]
결과: [1,5]
어레이에서 원하는 원시 값만 쉽게 가져올 수 있습니다.어레이를 Set(설정)으로 변환한 후 변환하는 경우 Set(설정)에서 Array(배열)로 변환합니다.이 변환은 원시 값에만 적용되며 어레이 내의 개체에 대해서는 유효하지 않습니다.직접 해보세요.
let myObj1 = {
name: "Dany",
age: 35,
address: "str. My street N5"
}
let myObj2 = {
name: "Dany",
age: 35,
address: "str. My street N5"
}
var myArray = [55, 44, 65, myObj1, 44, myObj2, 15, 25, 65, 30];
console.log(myArray);
var mySet = new Set(myArray);
console.log(mySet);
console.log(mySet.size === myArray.length);// !! The size differs because Set has only unique items
let uniqueArray = [...mySet];
console.log(uniqueArray);
// Here you will see your new array have only unique elements with raw
// values. The objects are not filtered as unique values by Set.
// Try it by yourself.
우선 어레이에서 중복을 제거한 후 정렬을 시도합니다.새 배열에서 첫 번째 요소를 반환합니다.
function processData(myArray) {
var s = new Set(myArray);
var arr = [...s];
return arr.sort((a,b) => b-a)[1];
}
console.log(processData([2,3,6,6,5]);
function countUniqueValues(arr) {
return Array.from(new Set(arr)).length
}
console.log(countUniqueValues([1, 2, 3, 4, 4, 4, 7, 7, 12, 12, 13]))
언급URL : https://stackoverflow.com/questions/20069828/how-to-convert-set-to-array
'programing' 카테고리의 다른 글
PHP에서 ++$i와 $i++의 차이점은 무엇입니까? (0) | 2022.11.01 |
---|---|
war/WEB-INF 폴더의 리소스에 대한 파일 경로 (0) | 2022.11.01 |
내장된 가우스 기능을 사용하지 않고 이미지를 흐리게 하는 방법은 무엇입니까? (0) | 2022.10.30 |
상태 표시줄 및 백분율 인쇄 방법 (0) | 2022.10.30 |
Python에서 datetime.date를 UTC 타임스탬프로 변환하는 중 (0) | 2022.10.30 |