我有一个关于Array使用findIndex和findIndex来查找元素的小问题。我有演示代码,当我仅将find()方法与数组变量一起使用时,该示例代码可以工作。

    var a = [{
      _id: 'newlead',
      count: 45
    }, {
      _id: 'contact',
      count: 12
    }, {

    leadCount: [{
          _id: 'newlead',
          count: 45
        }, {
          _id: 'contact',
          count: 12
        }]
    }]

var findElement = a.find(a => {
  return a._id === 'newlead'
});

console.log(findElement);


实际的问题是我要检查一个数组,'leadCount'是否存在,如果存在,那么我正在执行此操作,我有一个代码。此代码引发错误“ TypeError:a.findIndex(...)。find不是函数

let data = a.findIndex( element => {
  return 'leadCount' in element
}).find(e => {
    return e._id === 'newlead'
})

console.log(data)


请建议我正确的事情。

谢谢

最佳答案

您可以尝试以下方法:



 var a = [{
  _id: 'newlead',
  count: 45
}, {
  _id: 'contact',
  count: 12
}, {

leadCount: [{
      _id: 'newlead',
      count: 45
    }, {
      _id: 'contact',
      count: 12
    }]
}];



let data = a.find(e => 'leadCount' in e) || {leadCount: []}.leadCount.find(e => e._id === 'newlead')

console.log(data)

关于javascript - 如何在JavaScript中将find()与findIndex一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51080532/

10-09 18:17