@capitals

Как сравнить два массива в одном индексе с разными вариантами?

Всем привет.
Я в процессе обучение, и не совсем точно могу сформулировать понятие.

В индексе 1 и 3, в кавычках через запятую разные варианты. Мне нужно чтобы один из них совпадал или два, три зависит сколько вариантов в одном индексе.

Должно на этом примере получится по индексам ответ: 0-[1], 1-[1], 2-[0], 3-[2];

var masterArray = [['1981', '2001,2002', '1991', '1985,1986,1987']];
var compareArray = ['1981', '2002', '1891', '1985,1987'];


function intersect(multi, simple) {
  return multi.reduce(function(res, b) {
    var intersection = simple.reduce(function(r, e) {
      if(b.indexOf(e) != -1)
        r.push(e);
      return r;
    }, []);
    
    res.push(intersection);
    return res;
  }, []);
}

console.log(intersect(masterArray, compareArray));
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
pterodaktil
@pterodaktil
js developer
Для начала стоит написать так
var masterArray = ['1981', '2001,2002', '1991', '1985,1986,1987'];

ну а дальше
let result = [];
compareArray.forEach((v, k) => { 
  let i = 0; 
  masterArray[k].split(',').forEach((vv, kk) => {
    v.split(',').indexOf(vv) !== -1 ? i++ : false
  }); 
  result.push(`${k} - [${i}]`) 
});
console.log(result);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы