Повторение вложенного цикла и возвращение совпавшего значения не работает в Node.js с использованием модуля lodash

1

У меня есть два списка. Первый - это список значений, а другой - список строк, в которых любая строка может содержать эти значения. Поэтому я выполняю итерацию над wordList и во внутреннем цикле, итерируя значения, когда когда-либо строка содержит значение, она должна возвращать значение.

const _ = require('lodash');
const valueList = ['abb','bcd','ghi'];

const wordList = ['ab','a','abc','abcde','bcef','aghif'];

const selectedValue = _.filter(wordList, (word) => {
  return _.filter(valueList, (value) => {
    return _.includes(word,value);
  });
});

console.log('Printing  matched value  ${selectedValue}');
// Output should be bcd as 'bcd' as wordList contains this value and also it is first match.
Теги:
lodash

2 ответа

1
Лучший ответ

Вам, вероятно, не понадобится lodash. Обычный JavaScript тоже может это сделать:

const valueList = ['abb','bcd','ghi'];

const wordList = ['ab','a','abc','abcde','bcef','aghif'];

const selectedValue = valueList.find( val => wordList.some(word=>word.includes(val)));

console.log('Printing  matched value  ${selectedValue}');
// Output should be bcd as 'bcd' as wordList contains this value and also it is first match.
0

Рабочий код с использованием lodash.

const _ = require('lodash');

const valueList = ['abb','bcd','ghi'];

const wordList = ['ab','a','abc','abcde','bcef','aghif'];

const selectedValue = _.filter(valueList, (value) => {
  return _.some(wordList, (word) => {
    return _.includes(word,value);
  });
});

console.log('Printing  matched value  ${selectedValue}');
  • 0
    ваш фрагмент не работает
  • 0
    возвращает bcd, ghi

Ещё вопросы

Сообщество Overcoder
Наверх
Меню