javascript - 打字稿:如何检查一个数组是否不包含另一个数组的值并返回缺失值?
问题描述
我有以下一组值
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 的假值,但如何只打印返回假的值?或任何其他方式来获得所需的输出?
解决方案
您可以随时使用Array.prototype.filter
。
IdsetMaster.filter(v => !Idsetvalues.includes(v))
这将返回一个数组(它不会修改IdsetMaster
),其中包含在IdsetMaster
中找不到的每个元素Idsetvalues
。
推荐阅读
- java - 为什么 List.contains(Object) 的行为不同?
- r - 如何在同一个数据帧上做colsum和average
- powerbi - 使用 DAX 生成日期系列
- javascript - 仅在服务器上需要一个包
- java - Intellij IDEA 仅针对所有未提交的更改运行测试
- regex - 在换行符之前匹配字符,不包括空格?
- macos - MacOS - 使用带有launchd的脚本 - 启动,登录,注销,关闭?
- service-worker - Workbox 的服务人员在更改时未更新
- python - AllenNLP 共指分辨率的多 GPU 训练
- reactjs - 事件处理程序中带有 [name] 的 PrevState