javascript - 在javascript中从另一个数组中删除一个数组中的元素

标签 javascript arrays

嗨,我需要从另一个数组中删除该数组。下面是我尝试过的代码

var dummyObj = ["item1"];
var dummyArray = [ "item1", "item3", "item2"];


var data1=removeFromArray(dummyArray, dummyObj);

console.log("data1"+data1)

function removeFromArray(array, item)
{
while((index = array.indexOf(item)) > -1)
array.splice(index,1);
return array
}

下面是我的输出

item1,item3,item2

但所需的输出是

item3,item2

不知道我哪里出了问题。任何有关此问题的帮助都会非常有帮助

最佳答案

你的参数 item 是一个数组对象,所以你必须像 item[0] 一样使用它

 while((index = array.indexOf(item[0])) > -1)

如果 dummyObj 包含多个值,那么您必须添加一个额外的循环

function removeFromArray(array, item)
{
for(var j=0;j<item.length;j++){
while((index = array.indexOf(item[j])) > -1)
array.splice(index,1);

}
return array
}

关于javascript - 在javascript中从另一个数组中删除一个数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22037357/

相关文章:

javascript - Angular 2-根据模式更改文本显示格式

javascript - 传单不连贯地绘制瓷砖

python - 从 numpy 3d 数组创建一个整洁的 pandas 数据框

javascript - 如何求和并推送到 Vue 中的匹配对象

java - 使用 Char 访问数组元素

c - 为什么此 if 行出现段错误?

javascript - 如何使用带有模糊背景的 Angular SVG 圆形进度条?

javascript - 使用 Typescript 中的条件对象过滤嵌套数组的数组

javascript - 用 jquery 替换第一个标题文本

JavaScript - 循环数组比我应该的少