当前位置: 首页 > 知识库问答 >
问题:

正在检查对象数组的空属性

古文康
2023-03-14

我想检查对象数组中是否有具有null值的属性,如果有,则返回true。

目前我的问题是

This condition will always return 'false' since the types '{ type: any; startDate: string; endDate: string; annualRent: any; }' and 'string' have no overlap.ts(2367)

#用于检查空属性的当前代码

const hasEmptyRentSchedProperty = Object.values((this.proposedRentSchedule)).some((v => v === null || v === ""))

#对象=这个。拟议时间表

[
    {
        "type": 0,
        "startDate": "2022-1-4",
        "endDate": "2022-1-19",
        "annualRent": "232"
    },
    {
        "type": 0,
        "startDate": "2022-1-20",
        "endDate": "2022-1-20",
        "annualRent": null
    }
]

共有1个答案

祝俊雄
2023-03-14

你得到这个错误的原因是因为你得到的数组的值的类型是{type: any; start Date: string; endDate: string; annualRent: any;}而不仅仅是string。在这种情况下,字符串比较是如何工作的?这就是打字稿指出的。

var data = [
  {
    "type": 0,
    "startDate": "2022-1-4",
    "endDate": "2022-1-19",
    "annualRent": "232"
  },
  {
    "type": 0,
    "startDate": "2022-1-20",
    "endDate": "2022-1-20",
    "annualRent": null
  }
]

console.log(data.some(element => Object.values(element).some(val => val === null || val === "")))
 类似资料:
  • 超文本传输协议GET方法的响应如下所示: 在前端,我想检查属性是否为空。我尝试过这种方法,但不起作用

  • 我不明白为什么当我尝试循环对象的数组属性时,过滤器返回一个空数组。 不过,当我试着做控制台的时候。日志(this.users)在getFilteredUsers方法中,我可以在它的原型中看到filter方法。。。

  • 问题内容: 是否有可能从具有特定属性的数组中获取对象?还是我需要遍历数组中的所有对象并检查属性是否是我正在寻找的特定对象? 编辑:谢谢你给我正确的方向,但我有一个转换此问题。 //再编辑一次:好的,如果只有一个特定的结果?这也是可行的方法吗? 问题答案: //这不起作用-NSArray不是Images的子类型-那么如果只有1种可能的结果怎么办? 您无法在编译时证明数组上只有一个可能的结果。您实际要

  • 问题内容: 我正在寻找一种非常快速,干净且有效的方法来获取以下JSON切片中的最大“ y”值: for-loop是解决此问题的唯一方法吗?我热衷于使用。 问题答案: 要在中找到对象的最大值:

  • 问题内容: 我试图检查对象数组中是否存在特定项目(属性值),但找不到任何解决方案。请让我知道,我在这里想念的是什么。 问题答案: 您可以像这样过滤数组: 它将返回匹配闭包中指定条件的元素数组-在上述情况下,它将返回包含所有属性等于1的元素的数组。 由于您需要布尔结果,因此只需执行以下检查: 如果过滤后的数组至少包含一个元素,则为true

  • 问题内容: 在遍历数组时,我需要一些帮助,我会不断卡住或重新发明轮子。 如何检查数组中是否有两个(或多个)相同的名称值?我不需要计数器,只需在数组值不是唯一的情况下设置一些变量即可。请记住,数组长度是动态的,数组值也是动态的。 问题答案: 使用array.prototype.map和array.prototype.some: