Теперь я пишу javascript, чтобы отфильтровывать массивы, которые содержат определенный подматрица. Конечно, я могу написать функцию самостоятельно, но мне просто интересно, есть ли какая-то встроенная функция в javascript или другой библиотеке javascript для этого, или если есть простой способ сделать это всего несколькими строками.Есть функция, чтобы найти subarray в javascript с повторяющимися элементами?
Я обнаружил, что могу использовать underscore.js, если все элементы в подобласте уникальны. Существует функция пересечения, и я могу проверить длину после пересечения, чтобы увидеть, правильна ли длина. Однако эта функция не работает, если в поддиапазоне повторяются значения.
Например,
_.intersection([1, 2, 3, 4, 5], [2, 1]);
Это будет возвращать [1, 2], и путем проверки длины я знаю, этот массив содержит вспомогательный массив.
Однако, когда повторяются значения в суб-массиве,
_.intersection([1, 1, 2, 3, 4, 7, 10], [1, 1, 2]);
_.intersection([1, 2, 3, 4], [1, 1, 2]);
Оба будут возвращаться [1, 2] и случаи нельзя отличить.
Есть ли еще встроенная функция, которую я могу использовать или есть простой способ сделать работу в нескольких строках?
без (V) { \t возврата this.indexOf (v) == = -1; }, [1, 1, 2, 3, 4, 7, 10]). Length == 0; – dandavis
Этот метод приведет к той же ошибке, если используются [1,2,3,4] и [1,1,2]. – cytsunny
[1, 1, 2] и [1, 2] оба выдают true, есть ли требование, которое мне не хватает? – dandavis