我想使用Object.fromEntriesand根据键或值过滤对象Object.entries,但是当我尝试使用逻辑 OR || 时 我不能做我想做的事。有没有一种好的解决方案,无需引入其他方法或循环?
const object1 = { a: 1, b: 2, c: 3 };
const object4 = Object
.fromEntries(Object
.entries(object1)
.filter(([key, val])=>key!=="a"||val!== 2));
// logic goes wrong!
console.log(object4);
// { a: 1, b: 2, c: 3 } I want { c: 3 }, filter any key with "a" or value with 2Run Code Online (Sandbox Code Playgroud)
我想要一个正确的布尔 OR,如果它的任何参数为 true,则返回 true,否则返回 false。我读过 JS 做了一些奇怪的事情,但是如何排序呢?
要获得您正在寻找的操作,您需要逻辑AND运算符,而不是OR。
key !== "a" && val !== 2
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用OR来表达它,通过否定整个表达式,使用正比较而不是负比较。
!(key === "a" || val === 2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1057 次 |
| 最近记录: |