есть ли функция для сравнения значений массивов и извлечения индексных номеров совпадений?
У меня есть два массива строк и я хочу сравнить их по значению и извлечь индексные номера идентичных элементов mainArray, которые доступны, например, в secondArray:
var mainArray = ["I", "am", "not", "a", "doctor"]
var secondArray = ["am", "doctor"]
var Result = [1,4]
У вопроса есть решение - Посмотреть?
Ответы - есть ли функция для сравнения значений массивов и извлечения индексных номеров совпадений? / is there a function to compare values of the arrays and extract the index numbers of matches?
Является ответом!

24.10.2020 11:31:41
Вы можете использовать метод intersection
библиотеки lodash
.
const mainArray = ["I", "am", "not", "a", "doctor"]
const secondArray = ["am", "doctor"]
const result = _.intersection(mainArray, secondArray)
const resultIndices = result.map(i => mainArray.indexOf(i))
console.log(result)
console.log(resultIndices)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>

24.10.2020 11:56:52
вы можете использовать массив.прототип.помощи indexOf()
const mainArray = ["I", "am", "not", "a", "doctor"];
const secondArray = ["am", "doctor"];
const result = secondArray.map(w => mainArray.indexOf(w));
console.log(result);
Примечание: это решение вернет -1 для тех случаев, когда строка не совпадает.
Помочь в развитии проекта: