【问题标题】:Check if a value is present in a property of any object in a list of objects [duplicate]检查对象列表中任何对象的属性中是否存在值[重复]
【发布时间】:2019-03-15 05:16:09
【问题描述】:

我有以下类型的列表:

[
    {
        "_name": "FIX.4.0"
    },
    {
        "_name": "FIX.4.1"
    },
    {
        "_name": "FIX.4.2"
    },
    {
        "_name": "FIX.4.3"
    },
    {
        "_name": "FIX.4.4"
    }
]

我想检查这些对象的 "_name" 属性中是否存在 "FIX.4.3"。 我无法更改列表的格式(无论我想要多少),因为我从其他地方获取它。 我知道我可以遍历对象,但我正在寻找更好的方法。 提前致谢。

【问题讨论】:

    标签: angular optimization


    【解决方案1】:

    你可以使用some:

    some() 方法测试数组中是否至少有一个元素通过了提供的函数实现的测试。

    例子:

    const data = [
            {
                "_name": "FIX.4.0"
            },
            {
                "_name": "FIX.4.1"
            },
            {
                "_name": "FIX.4.2"
            },
            {
                "_name": "FIX.4.3"
            },
            {
                "_name": "FIX.4.4"
            }
        ];
        
        // FIX.4.4 is there
        console.log(data.some(x => x._name === "FIX.4.4"));
        
        // FIX.NOT.THERE is, well, not
        console.log(data.some(x => x._name === "FIX.NOT.THERE"));

    【讨论】:

      【解决方案2】:

      你可以使用find

      checkValue(value){
          if(this.array.find(function(obj) { return obj._name === value; }))
            return true
          else
            return false;
      }
      

      【讨论】:

        【解决方案3】:

        本着与树懒相同的精神,但使用 find like fateme fazli

        示例

        const data = [
            {
                "_name": "FIX.4.0"
            },
            {
                "_name": "FIX.4.1"
            },
            {
                "_name": "FIX.4.2"
            },
            {
                "_name": "FIX.4.3"
            },
            {
                "_name": "FIX.4.4"
            }
        ];
        
        const result = (data.find(x => x._name === "FIX.4.3") === undefined) ? false : true;
        
        console.log(result);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-01-01
          • 2020-05-08
          • 2016-04-02
          • 2020-11-30
          • 2013-11-28
          • 2013-12-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多