首页 > 解决方案 > 打字稿:如何检查一个数组是否不包含另一个数组的值并返回缺失值?

问题描述

我有以下一组值

const Idsetvalues = [38,38,38,38,38,43,43,43];
const IdsetMaster = [38,43];

我想检查 id Idsetvalues 是否包含 38 或 43,如果不包含,则返回缺少的元素,例如:

const Idsetvalues = [38,38,38,38,38];
const IdsetMaster = [38,43];

这应该返回 false 然后返回 43 在 Idsetvalues 中丢失

我做了这样的事情

for (let i = 0; i < IdsetMaster.length; i++) {
        const error1 = Idsetvalues.some(id => IdsetMaster[i].indexOf(id) >= 0);
console.log(error1)
 }

我得到 38 的真值和 43 的假值,但如何只打印返回假的值?或任何其他方式来获得所需的输出?

标签: javascriptarraystypescript

解决方案


您可以随时使用Array.prototype.filter

IdsetMaster.filter(v => !Idsetvalues.includes(v))

这将返回一个数组(它不会修改IdsetMaster),其中包含在IdsetMaster中找不到的每个元素Idsetvalues


推荐阅读