繁体   English   中英

比较两个数组值(如果包含)并求和

[英]compare two array values (if contains) and get difference

如何比较两个数组值并获得差值。

const list1 = ['1xx', '2bbb', '3ggg', '4eee'];
const list2 = ['1xx33', '2333', '3gfffgg', '4eeeooo'];

我想检查list2值是否包含list1s

所以1xx33 contains 1xx4eeeooo contains 4eee那么我4eeeooo contains 4eee的结果是['2bbb', '3ggg'] ;

const output = list1.filter( function(n) { return !this.has(n) }, new Set(list2) );

以上片段仅提供匹配项,但不包含

对于第一个列表中的每个条目,必须验证第二个列表中的任何值中是否没有匹配的子字符串。

const output = list1.filter(s => list2.every(b => (b.indexOf(s)===-1)));

此代码段通过过滤第一个列表来创建新列表,与其他列表相比,删除每个具有至少一个匹配子字符串的条目。

如果您不熟悉箭头功能=> ),则可以选择以下方法:

const output = list1.filter(function(s) { return list2.every(function(b) { return (b.indexOf(s)===-1) })});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM