JS 字典列表,按条件获取第一个值

Mor*_*mir 1 javascript arrays dictionary list object

给定 JS 中的字典列表,我想获取第一个启用且未删除的字典。

字典将如下所示:

objects= [{'name':'a', 'width': 100, 'deleted': true, 'enabled': true},
          {'name':'b', 'width': 200, 'deleted': false, 'enabled': false},
          {'name':'c', 'width': 300, 'deleted': false, 'enabled': true},
          {'name':'d', 'width': 400, 'deleted': true, 'enabled': true},
Run Code Online (Sandbox Code Playgroud)

我曾经使用第一个objects[0],但现在我需要考虑删除和启用。如何获得第一个相关值?所以结果应该是{'name':'c', 'width': 300, 'deleted': false, 'enabled': true}

Ran*_*ner 6

如果您想查找数组中第一个与查找条件匹配的对象,请使用find 。

使用filter,如果你想在数组中找到所有符合过滤条件的对象。

objects= [{'name':'a', 'width': 100, 'deleted': true, 'enabled': true},
          {'name':'b', 'width': 200, 'deleted': false, 'enabled': false},
          {'name':'c', 'width': 300, 'deleted': false, 'enabled': true},
          {'name':'d', 'width': 400, 'deleted': true, 'enabled': true}
          ];
          
var findOne = objects.find(x => !x.deleted && x.enabled);
console.log(findOne);

var findMany = objects.filter(x => !x.deleted && x.enabled);
console.log(findMany);
Run Code Online (Sandbox Code Playgroud)