JS создание и заполнение массива уникальных записей без повторений

от 2019 - 03 - 25

Очень понравилась задача заполнения массива только уникальными элементами без повторений и решение, оказавшееся полезным, тут:
https://learn.javascript.ru/task/array-unique

Процитирую сейчас:

Наилучшая техника для выбора уникальных строк – использование вспомогательного объекта obj. Ведь название свойства в объекте, с одной стороны – строка, а с другой – всегда уникально. Повторная запись в свойство с тем же именем перезапишет его.

Например, если «харе» попало в объект один раз (obj[«харе»] = true), то второе такое же присваивание ничего не изменит.

Решение ниже создаёт объект obj = {} и записывает в него все строки как имена свойств. А затем собирает свойства из объекта в массив через Object.keys(). Дубликатов уже не будет.

// Пример из моего скрипта:
// filters Status

	var filterDataStatus = {};
	var arrFilterDataStatus = [];
	$('td.filter-data-status').each( function(index, element) {
		var strElementInsideText = $(element).text();
		filterDataStatus[ strElementInsideText ] = true;
		arrFilterDataStatus = Object.keys( filterDataStatus );
	});
	
	arrFilterDataStatus.forEach(function(item, i, arrFilterDataStatus) {
		$('.filter-data-status-select').append('<option val='+item+'>'+item+'</option>');
	});

/// filters Status	

Ознакомиться с примерами кода из оригинальной статьи можно, перейдя по ссылке в начале текста. Если перейдёте, там надо будет кликнуть кнопку «решение», что бы увидеть код.