Как использовать find () с findIndex в JavaScript - PullRequest
0 голосов
/ 28 июня 2018

У меня небольшая проблема с массивом для поиска элементов с использованием find () и 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 ' существует или нет, если существует, то я делаю это, у меня есть код. этот код выдает ошибку "Ошибка типа: a.findIndex (...). поиск не является функцией

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

console.log(data)

Пожалуйста, предложите мне правильную вещь.

спасибо

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Это может сработать:

a.find(i => i.leadCount).leadCount.find(i => i._id === 'newlead')

Дает:

{ _id: 'newlead', count: 45 }
0 голосов
/ 28 июня 2018

Вы можете попробовать это:

 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...