Javascript для поиска позиции значения данной переменной в одном массиве в другом массиве

У меня есть два массива (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 ().

Спасибо за понимание.

Когда вы пишете вопрос, полезно использовать реальный код для ожидаемых входных и выходных данных. Я не знаю, что это значит: «строка 1: 10,15,20,27 ...». Попробуйте это: array1 = [1, 2, 3]array2 = [4, 5, 6] ожидаемый результат: [...]

Damon 28.04.2018 15:28
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
1
57
1

Ответы 1

У меня есть indexOf для работы. Прокомментируйте, если код вам не нужен.

x = “Foo”
var array1 = [“Foo”, “Bar”, 0, true];
var array2 = [false, “Foo”, 2, “Bar”];
var y = array2[array1.indexOf(x)]

Спасибо, мы близки! Строка все еще пуста. Я использую инструмент отчетности под названием Informer. Я буду продолжать экспериментировать, чтобы увидеть, добьюсь ли я успеха.

secno2109832 28.04.2018 16:38

Что произойдет, если вы создадите новый файл js с моим кодом и запустите его независимо от существующего кода. Тогда это работает?

John AZ1 28.04.2018 16:46

Вы правы, мне следовало попробовать ... Я посмотрю, возможно, обращусь в службу поддержки в понедельник по поводу конкретного продукта. Большое спасибо!

secno2109832 28.04.2018 17:01

Причина, по которой инструмент отчетности показывает пустой результат, заключается в том, что два массива многомерны. Есть ли способ в javascript искать значение в array1, чтобы вернуть значение в array2?

secno2109832 30.04.2018 15:19

Другой момент - в выходных данных отчета может быть несколько строк с многомерным массивом, а некоторые строки - с обычным массивом, а некоторые строки будут однозначными. Спасибо за понимание ...

secno2109832 30.04.2018 15:22

Вот скриншот значения x - imgur.com/2sCUxQ1 Вот скриншот array2 - imgur.com/ttgX7Qh array1 имеет аналогичный индекс, но числовые значения с array1 (не изображены)

secno2109832 30.04.2018 15:29

Не могли бы вы отредактировать свои вопросы с примерами всех различных типов ввода и некоторыми возможными значениями arr1 и arr2?

John AZ1 01.05.2018 22:55

Эта проблема решена - спасибо John AZ1 - ваша помощь действительно пригодилась. Причина, по которой Informer сначала не работал, заключалась в том, что массивы были многомерными. Наряду с Support нам пришлось сначала преобразовать массивы md в одномерные массивы, а затем использовать indexOf (indexOf не работает с массивами md).

secno2109832 03.05.2018 03:02

Другие вопросы по теме