删除数组中的特定元素

萨希提亚

我的需要是在数组元素与字符串的某些其他元素部分匹配时从数组中删除元素,然后删除该元素。

例如,

var res1 = [
  " Proj -> Phase-1 -> Tower-1 -> Floor-2 ", 
  " Proj -> Phase-2 ", 
  " Proj -> Phase-2 -> Tower-1 " ];

即如果我的

res1[2]="Proj->Phase-2->Tower-1" 

res1[1]="Proj->Phase-2"

res1[1]与部分匹配res1[2]所以我需要删除res1[2]之后,我想要其余的数组值。但是它不能正常工作。

这是我尝试过的方法,但没有得到我期望的结果:

for (i = 0; i < res1.length; i++) {
    for (j = 0; j < res1.length; j++) {
        if (res1[i] != res1[j]) {
            if (res1.indexOf(res1[j]) === 0) {
                console.log(res1);
                console.log(res1[j]);
                delete res1[i];
            }
        }
    }
}

即,如果string1“ Proj-> Phase-2”恰好在string2“ Proj-> Phase-2-> Tower-1”中,则需要删除string2。即使将string3“ Proj-> Phase-1-> Tower-1”与string1进行比较,也不完全相同。因此,不应将其删除

拉帕多瓦尼

我会用String.includes()

var res1 = [
  " Proj -> Phase-1 -> Tower-1 -> Floor-2 ", 
  " Proj -> Phase-2 ", 
  " Proj -> Phase-2 -> Tower-1 " ];    

for (var i = 0; i < res1.length; i++) {
  for (var j = i + 1; j < res1.length; j++) {
    if (res1[j].includes(res1[i])) {
      res1.splice(j, 1);
      j--; // Splice deletes the element so all index shifts, need to recheck the same element
    }
  }
}

console.log(res1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除数组中的特定元素

来自分类Dev

在javascript中删除数组中的特定元素

来自分类Dev

在javascript中删除数组中的特定元素

来自分类Dev

删除数组中的元素

来自分类Dev

如何从特定值上删除数组中的元素?

来自分类常见问题

删除数组中特定数量的元素

来自分类Dev

如何删除数组中特定位置的任何元素?

来自分类Dev

Ruby:从条件中删除数组的多个特定元素

来自分类Dev

删除数组中的数组元素

来自分类Dev

使用Lodash删除数组中的元素

来自分类Dev

迭代删除数组中的元素

来自分类Dev

如何从Mongodb中删除数组元素

来自分类Dev

尝试删除数组中的元素:Ruby

来自分类Dev

删除数组中的Null元素

来自分类Dev

删除数组中的重复元素

来自分类Dev

删除数组中的重复元素

来自分类Dev

如何删除数组元素中的空格?

来自分类Dev

在MATLAB中删除数组元素

来自分类Dev

Ruby无法删除数组中的元素

来自分类Dev

Symfony - 如何从实体中删除数组中的特定元素

来自分类Dev

如何删除数组中任何特定位置的任何元素?

来自分类Dev

如果索引位置大于特定值,则删除数组元素

来自分类Dev

angularjs删除数组特定元素不起作用

来自分类Dev

删除数组中的元素,这些元素被重复并顺序跟随

来自分类Dev

根据嵌套数组中的值删除数组元素

来自分类Dev

从子文档数组中删除数组元素

来自分类Dev

无法删除数组元素

来自分类Dev

删除数组[]个元素

来自分类Dev

删除数组的相邻元素