<select id="delete">
<option value="1">1</option>
<option value="1">1</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="2">2</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="3">3</option>
<option value="3">3</option>
<option value="3">3</option>
</select>
for(let i of document.querySelectorAll("select")) {
for(let n of i.querySelectorAll("option")) {
if(n.getAttribute("value") == 1) {
n.remove();
} else if(n.getAttribute("value") == 2) {
n.remove();
} else if(n.getAttribute("value") == 3) {
n.remove();
}
}
}
const values = [ '1', '2', '3' ];
.[...select].forEach(n => values.includes(n.value) && n.remove());
for (const n of select.querySelectorAll(values.map(n => `[value="${n}"]`))) {
select.removeChild(n);
}
Array.prototype.reduceRight.call(
select.options,
(_, n) => ~values.indexOf(n.value) && (n.outerHTML = ''),
null
);
for (let i = select.children.length; i--;) {
const n = select.children[i];
for (let j = 0; j < values.length; j++) {
if (values[j] === n.value) {
n.replaceWith();
break;
}
}
}