Javascript 如果子项具有特定值,则删除重复的父项

Javascript 如果子项具有特定值,则删除重复的父项,javascript,Javascript,我有以下清单: 红色的是复制品。本质上,我需要删除这些重复项,并且仅当值为“Rate Inclusive”时 下面是DOM结构: 我已成功创建了一个简单的循环,如下所示: var els=document.querySelectorAll('.sidebar\uu list-item'),i; 对于(i=0;i

我有以下清单:

红色的是复制品。本质上,我需要删除这些重复项,并且仅当值为“Rate Inclusive”时

下面是DOM结构:

我已成功创建了一个简单的循环,如下所示:

var els=document.querySelectorAll('.sidebar\uu list-item'),i;
对于(i=0;i}
您可以使用
映射
类型检查是否已经有一个具有该名称的元素,如果有,检查第二个值是否包含
速率
。大概是这样的:

  let list = document.querySelectorAll('.sidebar__list-item');
  let map = new Map();

  for (let i = 0, maxi = list.length; i < maxi; i += 1) {
    let name = list[i].children[0].textContent; // get the name
    let value = list[i].children[1].textContent; //get the value

    if ( map.has( name.toLowerCase() ) ) { //if you have it already...
      if ( value.trim() === 'Rate Inclusive' ) { //and is Rate inclusive...
        list[i].remove();
      }
    } else {
      map.set( name.toLowerCase(), true ); // If you don't have, add it. The value is set to true, but it doesn't matter.
    }
  }
let list=document.querySelectorAll('.sidebar_uulist-item');
设map=newmap();
for(设i=0,maxi=list.length;i
您还可以使用
集合
执行任务


您可以使用
映射
类型来检查是否已经有一个具有该名称的元素,如果有,则检查第二个值是否为
包含速率
。大概是这样的:

  let list = document.querySelectorAll('.sidebar__list-item');
  let map = new Map();

  for (let i = 0, maxi = list.length; i < maxi; i += 1) {
    let name = list[i].children[0].textContent; // get the name
    let value = list[i].children[1].textContent; //get the value

    if ( map.has( name.toLowerCase() ) ) { //if you have it already...
      if ( value.trim() === 'Rate Inclusive' ) { //and is Rate inclusive...
        list[i].remove();
      }
    } else {
      map.set( name.toLowerCase(), true ); // If you don't have, add it. The value is set to true, but it doesn't matter.
    }
  }
let list=document.querySelectorAll('.sidebar_uulist-item');
设map=newmap();
for(设i=0,maxi=list.length;i
您还可以使用
集合
执行任务


太好了,它非常有效。非常感谢你的迅速回复。非常感谢。我看到的唯一问题是.textContent返回“无法读取未定义的属性'textContent'。有没有办法解决这个问题?如果html遵循您展示的结构,那么这个错误就不会发生。也许你的处境需要用另一种方式来处理。请确保这一点,如果是那样的话,请编辑问题并再次提及我,我会检查它。谢谢,HTML遵循上述结构。当我在开发人员控制台中尝试您的代码时,我得到了错误,但脚本仍然会执行。但是,如果我试图在源代码中或通过标记管理器实现脚本,它不会执行,只会出现错误消息“无法读取未定义的属性'textContent'”@AlessandroCrotti请检查代码笔示例。太好了,它可以完美地工作。非常感谢你的迅速回复。非常感谢。我看到的唯一问题是.textContent返回“无法读取未定义的属性'textContent'。有没有办法解决这个问题?如果html遵循您展示的结构,那么这个错误就不会发生。也许你的处境需要用另一种方式来处理。请确保这一点,如果是那样的话,请编辑问题并再次提及我,我会检查它。谢谢,HTML遵循上述结构。当我在开发人员控制台中尝试您的代码时,我得到了错误,但脚本仍然会执行。但是,如果我试图在源代码中或通过标记管理器实现脚本,它不会执行,只是出现错误消息“无法读取未定义的属性'textContent'”@AlessandroCrotti请检查代码笔示例。