javascript - 如何以角度从字典对象中排除匹配值?
问题描述
我创建了一个函数,它接受一个字典对象并匹配数组,如下所示:
const dict = {
CheckAStatus: "PASS",
CheckAHeading: "",
CheckADetail: "",
CheckBStatus: "FAIL",
CheckBHeading: "Heading1",
CheckCStatus: "FAIL",
CheckCHeading: "Heading2"
};
我想排除所有PASS
作为值或empty string ("")
作为值的键值对。换句话说,JSON.stringify(dict)
应该给出:
CheckBStatus: "FAIL",
CheckBHeading: "Heading1",
CheckCStatus: "FAIL",
CheckCHeading: "Heading2"
我在下面写了但它不起作用
const items = Object.keys(dict)
.filter(key => key.indexOf('PASS')>= 1)
解决方案
考虑一个简单的循环,在满足正确条件时for...in
将键/值对添加到您的对象。items
const dict = {
CheckAStatus: "PASS",
CheckAHeading: "",
CheckADetail: "",
CheckBStatus: "FAIL",
CheckBHeading: "Heading1",
CheckCStatus: "FAIL",
CheckCHeading: "Heading2"
};
const items = {};
for (let key in dict) {
if (!["PASS", ""].includes(dict[key])) {
items[key] = dict[key];
}
}
console.log(items);
推荐阅读
- scip - 如何在 SCIP 中打印变量名?
- java - 如何在单个键下显示所有购物车项目?
- http - FFMPEG HTTP 到 RTP 然后 RTP 到 HTTP 与 OPUS
- linux - 炸弹实验室第 6 阶段:卡在最后一步
- c# - 如何在不同的电脑上运行控制台应用程序?
- python - 如何使用正则表达式选择两个最接近的相同单词的中间范围?
- http - Http请求头和请求的文件名
- node.js - 使用 Axios Vue.js 和 Node.js 从 MongoDB 按 id 获取数据
- python - 通过 tensorflow 将归一化重现到 keras
- android - NullPointerException java.util.Date.getTime 空对象引用