Функция, используемая для определения начальной точки тура / путешествия - PullRequest
1 голос
/ 16 мая 2019

Поездка имеет форму [начальное место поездки, место назначения поездки]. Вы получаете поездки в случайном порядке. Напишите функцию Javascript, чтобы узнать, что является отправной точкой путешествия. Также пользователь может ввести посещенные места.

Пример 1: exampleTrips: = [ [A,B], [B,C], [C,D] ] Поездка в этом примере началась в "A".

Пример 2: exampleTrips: = [ [D,E], [F,D], [E,X] ] Поездка в этом примере началась в "F".

Определил массив Разделите его на два массива, a1 и a2 найди разницу ч / б а1 и а2 вернуть оставшийся элемент из a1

var a = [ ['a', 'b'], ['b', 'c'], ['c', 'd'], ['e', 'a'] ];

var a1 = a.map(function(tuple) {
  return tuple[0];
});

var a2 = a.map(function(tuple) {
  return tuple[1];
});

function difference(a1, a2) {
  var result = [];
  for (var i = 0; i < a1.length; i++) {
    if (a2.indexOf(a1[i]) === -1) {
      result.push(a1[i]);
    }
  }
  return result;
}

console.log(difference(a1, a2));

1 Ответ

1 голос
/ 16 мая 2019

Сначала получите начало и конец (только неповторяющиеся элементы), затем выясните, какой из элементов является первым в массиве:

const a = [['a','b'], ['b','c'],['d','a']];
const startEnd = a.reduce((acc, curr) => acc.concat(curr)).filter((e, i, arr) => arr.indexOf(e) == arr.lastIndexOf(e));
const res = a.findIndex(([e]) => startEnd.includes(e));
console.log(res);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...