在javascript中获取一个数组而不是另一个数组中的内容

时间:2017-12-10 09:26:43

标签: javascript discord.js

我有两个数组,sample1sample2。我怎样才能获得sample1中的内容,而不是sample2

var sample1 = [1, 2, 3, 4];
var sample2 = [1, 2];

var sample3 = [3, 4]; //what I want to get

应用:两个数组,每个数组包含一些discord.js guildmembers。

我尝试过的事情:

console.log(sample1.find(el => !sample2.includes(el)).toString());
// Cannot read property 'toString' of undefined

我知道这样做的一种方法是查看sample1数组,然后如果sample2中没有某些内容,则将其推送到新数组。但是,我知道有更短更有效的方法,特别是如果sample1和sample2很长的话。

为了澄清,sample1和sample2未定义。

1 个答案:

答案 0 :(得分:1)

.find()将返回与条件匹配的第一个元素。 您正在寻找的是找回新阵列。为此,您可以使用.filter()返回一个过滤数组,如下所示: console.log(sample1.filter(el => !sample2.includes(el))); // outputs [3, 4]