javascript - 过滤来自两个对象的值
问题描述
好的,这似乎很简单,但不知何故,我在这里没有得到想要的结果。我有两个这样的对象:
const parentObj = { a: "true", b: "true", c: "true", d: "true", e: "true" }
const childObj = { b : "true", e: "true" }
我想比较这两个对象,找到公共键,并将公共键的值从childObj
to赋值parentObj
,这样我就得到了结果:
{ a: "false", b: "true", c: "false", d: "false", e: "true" }
我试过这个,但它不工作。
for (const parent in parentObj) {
let valueFound = false;
for (const child in childObj) {
if (parent === child) {
if (child === true) {
parentObj[parent] = true;
valueFound = true;
}
}
}
if (!valueFound) {
parentObj[parent] = false;
}
}
这里出了什么问题,正确的解决方案是什么?
解决方案
你的代码确实有效,如果你用. 或者比较你是否真的想要这些布尔值作为字符串。但是您的解决方案很慢,无需遍历 the和它的键,因为您可以查找:child === true
child
childObj[child] === true
"true"
childObj
for(let key in parentObj)
parentObj[key] = childObj[key] === "true" ? "true" : "false";
推荐阅读
- angular - 如何在 ngx 数据表中显示嵌套数组对象?
- typescript - 将静态属性的类型设置为实例类型的数组
- python - 如果满足条件,如何为列分配设定值?
- selenium - 有没有办法将 GlobalProtect VPN 与 Selenium 连接起来?(或同等学历)
- git - 未找到 Git 存储库错误存储库
- python - 如何在 Colaboratory 上使用 Selenium 在网站上下载 .xlxs 文件(不是 .do)?
- java - Java 中 random.nextInt() 的时间复杂度是多少?
- redis - Redis:哈希的非十进制 ID(如用户:Jonn Dow)并获取哈希数组 4 所有用户
- python - Python Selenium 选择元素几个问题
- angular7 - Angular 7 日期范围选择器问题