Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我想减去2个数组,得到第三个数组,它由第一个数组的剩余元素组成_Javascript_Arrays - Fatal编程技术网

Javascript 我想减去2个数组,得到第三个数组,它由第一个数组的剩余元素组成

Javascript 我想减去2个数组,得到第三个数组,它由第一个数组的剩余元素组成,javascript,arrays,Javascript,Arrays,两个数组的减法。 a=[AT,IN,UK,US]和b=[UK,ZA]。我需要像a-b=['AT,IN,US]这样的结果 我试着用上面的方法减去两个数组,但是没有得到正确的答案,我最终得到了一个[]总是。下面是我的代码: var prevCountries=[AT,IN,UK,US]; var部门国家=[UK,ZA]; var deletedCountries=[]; deletedCountries=先前的国家; console.logdeletedCountries; fori=0;i使用可以

两个数组的减法。 a=[AT,IN,UK,US]和b=[UK,ZA]。我需要像a-b=['AT,IN,US]这样的结果

我试着用上面的方法减去两个数组,但是没有得到正确的答案,我最终得到了一个[]总是。下面是我的代码:

var prevCountries=[AT,IN,UK,US]; var部门国家=[UK,ZA]; var deletedCountries=[]; deletedCountries=先前的国家; console.logdeletedCountries; fori=0;i使用可以从数组a中删除b数组的元素

使用过滤器在数组上进行迭代。在迭代的每个周期中,检查数组b中是否不存在a的元素。如果回调返回true,则filter保留元素,否则它将删除当前的cycle元素

常数a=['AT','IN','UK','US']; 常数b=['UK','ZA']; 常数r=a.filteri=>b.indexOfi==-1 console.logr简单的解决方案:

prevCountries.filter(x => !sectedCountries.includes(x))
或者可能更快一点,因为集合具有更有效的成员资格测试:

let sectedSet = new Set(sectedCountries)
prevCountries.filter(x => !sectedSet.has(x))

您在执行操作后记录了吗?谢谢您,操作简单明了。工作起来很有魅力。有一个问题是,为什么每个人都使用const而不是var?我对编程还不熟悉。