gpt4 book ai didi

javascript - 定位数组的唯一成员和第一个重复成员

转载 作者:行者123 更新时间:2023-12-02 20:05:45 24 4
gpt4 key购买 nike

我的 html 文档中有 6 个 div,它们具有以下特征:

<div id="m1_1"  title="Sept. 05, 2011" class="eheader">MR 1 &#151;</div>
<div id="m1_8" title="Sept. 05, 2011" class="eheader">MR 8 &#151;</div>
<div id="m1_12" title="Sept. 05, 2011" class="eheader">MR 12 &#151;</div>
<div id="m1_16" title="Sept. 12, 2011" class="eheader">MR 16 &#151;</div>
<div id="m1_17" title="Sept. 12, 2011" class="eheader">MR 17 &#151;</div>
<div id="m1_19" title="Sept. 15, 2011" class="eheader">MR 19 &#151;</div>

它们的 ID 类似于 m1_1、m1_2、m1_3、m1_4、m1_5 和 m1_6。下划线后面的数字是动态生成的,所以我不能直接瞄准……“m1_8”。

他们都共享同一类,这对于该组来说是唯一的。在我的 css 中,我将此类的 div 的显示属性设置为“隐藏”或“无”。

它们都有一个标题元素,该元素设置为它们的创建日期。

我需要一个函数,它将按类名循环遍历 div,并定位所有唯一标题和任何重复标题的第一个成员。在上面的示例中,m1_19 将成为目标,因为它的标题(创建日期)对于该集合来说是唯一的。 div m1_1 和 m1_16 也将成为目标,因为它们是重复项的第一个成员。

我的函数大纲看起来像这样......当然,缺少大量逻辑,我什至不确定我是否正确设置了循环。这可以完成还是我完全走错了路?

function checkHeaders(){
var hdrSet = document.getElementsByClassName("eheader");

for (var i=0; i<hdrSet.length; i++){
if (hdrSet[i].title {
hdrSet[i].style.display = "block";
}
}

}

最佳答案

function checkHeaders(){
var hdrSet = document.getElementsByClassName("eheader");
var titles = {};

for (var i=0; i<hdrSet.length; i++){
if ( !titles[ hdrSet[i].title ] ) {
titles[ hdrSet[i].title ] = true;
hdrSet[i].style.display = "block";
}
}
}

关于javascript - 定位数组的唯一成员和第一个重复成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7456529/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com