Lodash findindex push в массив

#lodash

#Lodash

Вопрос:

Я использую _.findIndex which возвращает мне массив, который нужно переместить в массив. Как я могу это сделать?

    $scope.filtersRequested[_.findIndex( $scope.filtersRequested, {
'codeColumnName': $scope.refData[idx].codeColumnName
                                       } )].filterCondition = strWhere;
  

Ответ №1:

Если я правильно понимаю, вы хотели бы установить FilterCondition для определенного значения. Поскольку вы используете Lodash, вам лучше использовать _.set, который безопасен (т. Е. Не завершается ошибкой, если первый аргумент не определен) и _.find (для получения доступа к соответствующему запросу). Следовательно, я бы посоветовал вам сделать:

 _.set(
 _.find( $scope.filtersRequested, {'codeColumnName': $scope.refData[idx].codeColumnName} ) ,
 'filterCondition', strWhere
);
  

Если элемент был найден, _.set будет работать с ним, в противном случае он будет корректно игнорировать его.