У меня есть массив с повторяющимися значениями.Как создать набор из массива и удалить исходные элементы в JavaScript
Я хочу создать набор, чтобы получить различные значения этого массива и удалить или создать новый массив, который будет иметь те же данные MINUS, что и элементы, необходимые для создания Set.
Это не просто вопрос удаления дубликатов, но удалить одну запись из с каждого отдельного значения в исходном массиве
Нечто подобное работает, но мне интересно, если есть более прямой подход:
let originalValues = [
'a',
'a',
'a',
'b',
'b',
'c',
'c',
'd'
];
let distinct = new Set(originalValues);
/*
distinct -> { 'a', 'b', 'c', 'd' }
*/
// Perhaps originalValues.extract(distinct) ??
for (let val of distinct.values()) {
const index = originalValues.indexOf(val);
originalValues.splice(index, 1);
}
/*
originalValues -> [
'a',
'a',
'b',
'c'
];
*/
Если 'originalValues' начинается с' 'а', 'а', 'a'', она должна заканчиваться '' а», 'a'' или просто '' а «'? – Ryan
Он должен просто удалить один, так что '' a ',' a'' –
@LucasRicoy Имеет ли значение вопрос? Какой из них нужно удалить? – Oriol