如果array.find()没有返回任何内容,如何调用方法?

时间:2016-10-04 06:54:04

标签: javascript arrays typescript

我正在使用array.find()搜索数组中的元素,如下所示:

this.selectedLib = libraries.find(lib => lib.name === 'Standard');

现在,此方法检查是否有任何库名称为“标准”, 如果它有'标准',它会将selectedLib设置为标准。

但是如果没有名为Standard的库,我想将索引位置0的库设置为selectedLib。

像这样......:

lib.name=='Standard' ? lib : libraries[0]

有办法吗?

1 个答案:

答案 0 :(得分:1)

  

如果数组中的元素, find()方法会在数组中返回   满足提供的测试功能。否则未定义是   返回

var libraries = [{
  name: "Not Standard",
  id: 1
}, {
  name: "Not Standard",
  id: 2
}]
var selectedLib = libraries.find(lib => lib.name === 'Standard') || libraries[0];
console.log(selectedLib);