测试数组中键的值是否存在

时间:2019-02-20 02:20:31

标签: javascript node.js

我有以下对象:

[ { id:
     '/subscriptions/resourcegroups/coco-test/providers/microsoft.devtestlab/schedules/shutdown-computevm-runscripts2',
    name: 'shutdown-computevm-runscripts2' },
  { id:
     '/subscriptions/resourcegroups/coco-test/providers/microsoft.devtestlab/schedules/shutdown-computevm-packer',
    name: 'shutdown-computevm-packer' } ]

我正在尝试编写一个脚本,如果它在任何对象的name键中找不到特定值,它会执行某些操作。

示例:shutdown-computevm-test

如果此对象中的任何地方都没有与该值匹配的名称,那么我希望我的代码执行某些操作。
我是nodejs的新手,我尝试过类似includes()indexOf之类的事情,但是这些不是正确的方法,或者我从来没有正确的语法。
任何提示表示赞赏。

2 个答案:

答案 0 :(得分:1)

类似的事情应该对您有用;

const result = [ { id:
     '/subscriptions/resourcegroups/coco-test/providers/microsoft.devtestlab/schedules/shutdown-computevm-runscripts2',
    name: 'shutdown-computevm-runscripts2' },
  { id:
     '/subscriptions/resourcegroups/coco-test/providers/microsoft.devtestlab/schedules/shutdown-computevm-packer',
    name: 'shutdown-computevm-packer' } ];

const found = result.some((part) => part.name === 'shutdown-computevm-test');

if (! found) {
  // do something here
}

我更喜欢对其进行过滤,因为它不会等待遍历数组中的所有项目,并且会在找到后立即快捷。

答案 1 :(得分:1)

使用Array.prototype.find()

format