javascript - 查找不是函数错误

标签 javascript find

我在 javascript 中有一个这样的对象数组:

array=[{label: 1, value:e}, {label:1, value: i}, {label: 2, value:l}]

我想在值为 l 时找到标签,所以我在写:

array.map((i) => i.find(item => item.value === 'l').label)

但是返回错误

i.find is not a function

我错过了什么?

最佳答案

我不明白你为什么要使用 map - 根据你的问题,你只是想找到具有特定值的元素的标签,所以你只需要 find 。这很好用:

array.find(item => item.value === 'l').label

返回 2

您应该处理 find 返回 undefined 的情况,例如:

var found = array.find(item => item.value === 'l')
if(found){
  var label = found.label;
  // use label
}else{
  // nothing found
}

关于javascript - 查找不是函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44410527/

相关文章:

shell - 使用 xargs 将目录从查找结果移动到另一个目录

bash - 如何使用 find 将字符串追加到目录中的每个文件

linq - 使用 Linq 获取列表中对象的索引

javascript - Owl Carousel 2 - 自定义触摸动画

javascript - 在单页网站中排列不同 View 的最佳方式

javascript - 当前不会命中断点。没有加载符号

linux 查找正则表达式

javascript - 开发 Multi-Tenancy 应用程序,以便用户可以在同一浏览器中使用不同的选项卡在不同的组织中工作

javascript - 什么时候 .the(success, fail) 被认为是 promise 的反模式?

linux - 如何使用 find 复制和删除保持相同子目录结构的扩展