programing

세트를 어레이로 변환하는 방법

goodsources 2022. 11. 1. 00:02
반응형

세트를 어레이로 변환하는 방법

집합은 고유한 요소가 보장된 배열을 만드는 좋은 방법처럼 보이지만 생성기 [세트]를 제외하고 속성을 가져오는 좋은 방법은 표시되지 않습니다.어색하게 부르는 가치관mySet.values.next().

「 」로 전화할 수 좋았을 입니다.map및 유사한 기능을 제공합니다.이데올로기 때문에

Array.from(Node List type Type Arrays ) 。만 어레이로 변환하고 있는 것 같습니다.: ★★★★★★★★★★★★★★:Object.keysSets(설정) 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

반응형