7 Nisan 2019 Pazar

Set Sınıfı

constructor
Şöyle yaparız.
/*declare a new set*/
var items = new Set()
constructor - Array
Örnek
Şöyle yaparız. Verilen array'in kopyasını alır ve çift değerleri eler. Daha sonra tekil değerler sıralanır. Daha sonra orijinal array üzerinde dolaşarak, sıralı array'deki pozisyonu bulunur
var originalArray = [10, 5, 20, 10, 20]
   , setArray = [...new Set(originalArray)]
   , sortedArray = [...setArray].sort((a, b) => a - b)
   , dataIndex = originalArray.map(d => sortedArray.indexOf(d) + 1)

console.log(dataIndex)
[10, 5, 20, 10, 20] için [2,1,3,2,3] sonucunu alırız. 5 en küçük değer olduğu için 1, 10 ise 2 değerini alır.

Örnek
Şöyle yaparız.
var idsToRemove = ["3", "1"];

const set = new Set(idsToRemove);
Örnek 
Şöyle yaparız.
const titleCaseWords = (words, ignore=["of", "and", "the", "to"]) => {
  ignore = new Set(ignore);
  ...
};
add metodu
Şöyle yaparız.
/*add an array by declaring as array type*/
var arr = [1,2,3,4];
items.add(arr);

/*print items*/
console.log(items); // Set {[1, 2, 3, 4]}
Şöyle yapmamak gerekir çünkü Set eklenen object'in var olup olmadığı mantığı ile çalışır. Klasik programlama dillerindeki gibi object'in değerine bakmaz.
/*add an array directly as argument*/
items.add([5,6,7,8]);
has metodu
Örnek
Şöyle yaparız.
/*check if item has array we declared as array type*/
console.log(items.has(arr)); // true
Örnek
Şöyle yaparız.
var idsToRemove = ["3", "1"];
var objList = [{
    id: "1",
    name: "aaa"
  },
  {
    id: "2",
    name: "bbb"
  },
  {
    id: "3",
    name: "ccc"
  }
];

const set = new Set(idsToRemove);
const filtered = objList.filter(({ id }) => !set.has(id));

Hiç yorum yok:

Yorum Gönder