如何解决如何检查父对象是否包含子对象属性?有没有办法不将对象转换为数组?
我想检查对象属性是否可用于另一个返回 true 的对象。我试过这种方式,但它给出了错误。任何建议将不胜感激。
const checked = {0: true,1: true,2: true,3 true,4: true}
const newChecked = {0: true,3: true,4: true,5: true,6: true,7: true,8: true,9: true}
Object.entries(checked).every(e => Object.entries(newChecked).includes(e))
解决方法
如果你只想检查属性,可以使用Object.keys
来做到这一点
const checked = { 0: true,1: true,2: true,3: true,4: true };
const newChecked = {
0: true,4: true,5: true,6: true,7: true,8: true,9: true,};
const has = Object.keys(checked).every((key) =>
Object.keys(newChecked).includes(key)
);
console.log(has);
对于键值检查,可以结合使用Object.entries
和Array.prototype.findIndex
const checked = { 0: true,};
const has = Object.entries(checked).every(
([keyToFind,valueToFind]) =>
Object.entries(newChecked).findIndex(
([key,value]) => key === keyToFind && value === valueToFind
) !== -1
);
console.log(has);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。