查找不是函数错误

use*_*203 5 javascript find

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

array=[{label: 1, value:e}, {label:1, value: i}, {label: 2, value:l}]
Run Code Online (Sandbox Code Playgroud)

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

array.map((i) => i.find(item => item.value === 'l').label)
Run Code Online (Sandbox Code Playgroud)

但返回错误

i.find 不是一个函数

我缺少什么?

Kar*_*eid 3

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

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

返回2

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

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