У меня есть два массива (array1 и array2), которые соответствуют индексам и размерам, но имеют разные соответствующие значения. Я хочу использовать однозначную переменную (x), значение которой существует в array1, чтобы найти позицию индекса из array1, а затем вернуть значение в той же позиции из array2.
Значения в массивах также не всегда однозначны.
Пример array1 может иметь одно значение:
array1 = [10, 15, 20, 27]
array2 = [вверх, вниз, влево, вправо]
Я хочу использовать, если x = down, вернуть 15.
var x = PriPosition;
var array1 = Amts;
var array2 = Positions;
var y;
for(I=0;I<array2;i++)
{
if (array2[I] == x)
{
y = array1[I];
break;
}
}
y;Эта функция имеет переменные, построенные из отчета, за исключением «y». Я использовал переменные, чтобы сократить настоящие имена.
Когда этот javascript запускается, результаты остаются пустыми с символом «y;» или без него. Я также пробовал функцию indexOf ().
Спасибо за понимание.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


У меня есть indexOf для работы. Прокомментируйте, если код вам не нужен.
x = “Foo”
var array1 = [“Foo”, “Bar”, 0, true];
var array2 = [false, “Foo”, 2, “Bar”];
var y = array2[array1.indexOf(x)]
Спасибо, мы близки! Строка все еще пуста. Я использую инструмент отчетности под названием Informer. Я буду продолжать экспериментировать, чтобы увидеть, добьюсь ли я успеха.
Что произойдет, если вы создадите новый файл js с моим кодом и запустите его независимо от существующего кода. Тогда это работает?
Вы правы, мне следовало попробовать ... Я посмотрю, возможно, обращусь в службу поддержки в понедельник по поводу конкретного продукта. Большое спасибо!
Причина, по которой инструмент отчетности показывает пустой результат, заключается в том, что два массива многомерны. Есть ли способ в javascript искать значение в array1, чтобы вернуть значение в array2?
Другой момент - в выходных данных отчета может быть несколько строк с многомерным массивом, а некоторые строки - с обычным массивом, а некоторые строки будут однозначными. Спасибо за понимание ...
Вот скриншот значения x - imgur.com/2sCUxQ1 Вот скриншот array2 - imgur.com/ttgX7Qh array1 имеет аналогичный индекс, но числовые значения с array1 (не изображены)
Не могли бы вы отредактировать свои вопросы с примерами всех различных типов ввода и некоторыми возможными значениями arr1 и arr2?
Эта проблема решена - спасибо John AZ1 - ваша помощь действительно пригодилась. Причина, по которой Informer сначала не работал, заключалась в том, что массивы были многомерными. Наряду с Support нам пришлось сначала преобразовать массивы md в одномерные массивы, а затем использовать indexOf (indexOf не работает с массивами md).
Когда вы пишете вопрос, полезно использовать реальный код для ожидаемых входных и выходных данных. Я не знаю, что это значит: «строка 1: 10,15,20,27 ...». Попробуйте это:
array1 = [1, 2, 3]array2 = [4, 5, 6]ожидаемый результат:[...]