当前位置: 首页 > 知识库问答 >
问题:

JavaScript如何从一个数组中删除第二个数组中包含的元素[duplicate]

劳高爽
2023-03-14

我误解了如何删除数组中与另一个数组有匹配元素的元素。

示例:

const items = ['first', 'second', 'third']
const secondItems = ['first', 'second']

预期:

console.log(items) | 'third'
console.log(secondItems) | 'first', 'second

希望能举一些例子来说明如何做到这一点。用两个forEach或filter和checking语句尝试了很多次,但我总是得到错误的结果。

共有3个答案

连俊智
2023-03-14
items.filter(x => !secondItems.includes(x))

刚刚在浏览器控制台中尝试过,它可以工作。

吕钧
2023-03-14

这可以通过以下方式解决:

const items = ['first', 'second', 'third'];
const secondItems = ['first', 'second'];


const filteredBySecondItems = items.filter(function(item) {

  // For item in items array, check if there is a match
  // in secondItems. If there is no match, allow it
  // to be included in the returned list
  return secondItems.indexOf(item) === -1 

})

console.log(filteredBySecondItems) // [ 'third' ]
李耀
2023-03-14

只需使用Array.prototype.filter()方法

const items = ['first', 'second', 'third']
const secondItems = ['first', 'second']

console.log(items.filter(i => !secondItems.includes(i)))
console.log(secondItems.filter(i => items.includes(i)))
 类似资料:
  • 我需要做一些从arr1中删除“b”和“d”的操作。当然,我也需要从arr1中删除arr2中存在的元素。

  • 问题内容: 说我有这些二维数组A和B。 如何从B中删除A中的元素。(集合论中的补语:AB) 更准确地说,我想做这样的事情。 问题答案: 基于this solution对,这里是用更少的内存占用与NumPy基础的解决方案,并与大型阵列工作时,可能是有益的- 样品运行- 在大型阵列上的运行时测试- 具有基础解决方案的时间- 基于更少内存占用量的定时解决方案- 进一步提升性能 通过将每一行视为索引元组来

  • 问题内容: 我正在寻找一种有效的方法来从javascript数组中删除所有元素(如果它们存在于另一个数组中)。 我想对myArray进行操作以使其保持这种状态: 使用jQuery,我使用和,效果很好: 有没有一种纯Javascript方式无需循环和拼接的方法? 问题答案: 使用方法: 小改进,因为对浏览器的支持增加了: 使用arrow functions:下一个适应:

  • 我正在寻找一种有效的方法,从一个javascript数组中删除所有元素,如果它们存在于另一个数组中。 我想对myArray进行操作,使其保持这种状态: 使用jQuery,我使用和,效果很好: 有没有一种纯javascript的方法可以做到这一点,而不需要循环和拼接?

  • 如何从另一个数组中删除数组的元素?我有第一个数组[“a”“b”“c”]。以及第二阵列[“a”、“e”]、[“e”、“b”、“c”]、[“a”、“c”]。 如何从第二个数组中删除第一个数组的元素? 结果,得到[["e"],["e"], []].

  • 给定下面的代码: HTML: 断续器 我必须使用此代码才能删除元素吗?它似乎太冗长了。