如何移除HTMLCollection中的重复<strong>标签,获取唯一强文本集合?
获取唯一的
<strong>标签文本集合 可以通过以下两种方式实现去重,得到不含重复项的强文本内容集合:
方法1:利用Set快速去重
// 获取页面所有strong元素 const strongElements = document.getElementsByTagName('strong'); // 提取文本并通过Set自动去重 const uniqueStrongTexts = [...new Set(Array.from(strongElements).map(el => el.textContent.trim()))]; // 输出唯一词汇的数量 console.log(uniqueStrongTexts.length);
方法2:手动遍历判断去重(兼容旧环境)
如果需要支持不支持Set的老旧浏览器,可通过数组手动校验:
const strongElements = document.getElementsByTagName('strong'); const uniqueTexts = []; for (let i = 0; i < strongElements.length; i++) { const text = strongElements[i].textContent.trim(); // 仅当数组中不存在当前文本时才添加 if (!uniqueTexts.includes(text)) { uniqueTexts.push(text); } } console.log(uniqueTexts.length);
额外说明
- 使用
trim()是为了消除文本前后空格导致的“假重复”(比如"MyWord"和" MyWord "会被误判为不同内容) - 若不需要区分大小写(比如
"MyWord"和"myword"视为同一词汇),可将文本转为统一大小写后再判断:el.textContent.trim().toLowerCase()
内容的提问来源于stack exchange,提问作者Khan
相关产品推荐
相关产品推荐

