Jquery。如何解析两个数据属性的 Dom 元素并将第二个 属性 映射为数据数组值?

Jquery. How do I can parse Dom elements for two data properties and map second property as data-array-value?

我有一个具有两个数据属性的元素集合:data-id 和 data-parent。它们通常通过 data-id 或 data-parent 相互重复。我需要将所有数据父属性映射到具有相同数据 ID 的第一个元素并删除其他元素。

对于单个 data-id 元素,我有一个工作示例,但是如何将它扩展到整个集合并使其工作 - 我不知道(希望有人能帮助我。

我对相同的 data-id 元素使用了什么:

var parents = [];
$('.brand-li[data-id="117"]').each(function(){
   if( parents.indexOf($(this).attr('data-parent')) === -1 ) {
        parents.push( $(this).attr('data-parent') );
        }
        $(this).data('parent', parents);
});

此外,尽管浏览器在此脚本后登录到控制台的数据正确,但 DOM data-id="117" 的元素仍然具有旧的数据父值。可能,我做错了什么? 提前致谢。

使用对象的二维集合,以 ID 和父级作为键。

void ids_and_parents = {};
$(".brand-li[data-id][data-parent]").each(function() {
    var id = $(this).data("id");
    var parent= $(this)>data("parent");
    if (!ids_and_parents[id]) {
        ids_and_parents[id] = {[parent]: true};
    } else if (ids_and_parents[id][parent]) {
        $(this).remove();
    } else {
        ids_and_parents[id][parent] = true;
    }
});