我有一個節點串列:
const list = document.querySelectorAll('.list > a')
每個“a”包含一個字串
在示例中,串列是這樣的:
<ul>
<a href="#"><li>Lorem Ipsum dolor</li></a>
<a href="#"><li>Sit Amet Bla bla</li></a>
<a href="#"><li>Sit Ahhh ppppp</li></a>
<a href="#"><li>Loret loops stuff</li></a>
<a href="#"><li>....</li></a>
<a href="#"><li>...</li></a>
<a href="#"><li>.... and so on</li></a>
</ul>
例如,我需要洗掉第三個元素,因為它以與第二個元素相同的 5 個字符開頭,即使它們以不同的結尾。
每次我遇到一個新元素時,我都需要檢查同一個串列中是否還有另一個元素以相同的 5 個字符開頭并將其洗掉。
希望很清楚。
uj5u.com熱心網友回復:
只需遍歷元素并使用 aSet來收集前綴:
const list = document.querySelectorAll('.list > a');
const set = new Set();
for (const element of list) {
const prefix = element.innerText.slice(0, 5);
if (set.has(prefix)) {
element.remove();
} else {
set.add(prefix);
}
}
<ul class="list">
<a href="#"><li>Lorem Ipsum dolor</li></a>
<a href="#"><li>Sit Amet Bla bla</li></a>
<a href="#"><li>Sit Ahhh ppppp</li></a>
<a href="#"><li>Loret loops stuff</li></a>
<a href="#"><li>....</li></a>
<a href="#"><li>...</li></a>
<a href="#"><li>.... and so on</li></a>
</ul>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/519801.html
下一篇:求和遞回函式將值回傳給變數
