Я не уверен, охватывает ли это весь сценарий ios (скорее всего, нет, если .
является допустимым символом в путях), или даже если это отличное решение, но оно дает ответ в вашем комментарии. Просто преобразует каждый путь в строку, разделенную .
, и также ищет данный путь как строку, разделенную .
.
const source = [
['source', 'nope'],
['source', 'id'],
['wow', 'source', 'id'],
['source', 'nope', 'id'],
[],
['id', 'source'],
['id', 'source', 'id']
];
function cb(arr, path) {
return arr.join('.').includes(path);
}
const ans = source.filter(i => cb(i, ['source', 'id'].join('.')));
console.log(ans)
// Correct Answer is:
// [['source', 'id'], ['wow', 'source', 'id'], ['id', 'source', 'id']]