Выбрать переменную на основе строки

Мне нужно изменить текст 6 названий карточек с помощью jQuery, но у меня есть 30 строк кода только для оператора if/else.

Я пытался исправить это, проверив только значение i, а затем return currentID[num], но это не работает.

Javascript:

const name1 = ['first 1', 'first 2', 'first 3', 'first 4', 'first 5', 'first6'];
const name2 = ['second 1', 'second 2', 'second 3', 'second 4', 'second 5', 'second 6';
const name3 = ['third 1', 'third 2', 'third 3', 'third 4', 'third 5', 'third 6'];
const name4 = ['fourth 1', 'fourth 2', 'fourth 3', 'fourth 4', 'fourth 5', 'fourth 6'];

const currentID = this.id;

$('.card-title').text((i) => {
    //Here there's an awkward if statement that checks the "currentID" for one
    //of the arrays above and then selects a value based on "i"
    //I've tried changing it to the code below but it returns each letter of the
    //const name, not the value

    return currentID[i/2];
});

Мне нужно, чтобы оператор if возвращал значение массивов выше. Это $('.card-title').text((i) => {} создает цикл и каждый раз увеличивает значение i на 2. Поэтому мне нужно проверить это число и выбрать другое значение массива. Итак, currentID[0] должен возвращать «первый 1», «второй 1», «третий 1» или «четвертый 1» на основе выбранного идентификатора; но поскольку currentID возвращает строку, оператор if дает мне отдельные буквы вместо массива.

Благодарим вас за то, что вы предоставили код немного, но этого недостаточно, чтобы понять, что вы делаете, что пытаетесь сделать и что делаете неправильно.

freedomn-m 20.03.2019 17:16

Почему вы пытаетесь получить currentID[x], когда currentID не является числом?

Kévin Bibollet 20.03.2019 17:41

Похоже, что все еще не хватает нескольких ключевых элементов, чтобы мы знали, чего вы пытаетесь достичь.

scgough 20.03.2019 17:41

curentID возвращает строку с именем: name1, name2, name3 или name4, и я хочу выбрать каждый элемент массива идентификаторов

Tomás Nicolorich 20.03.2019 17:59

Я не знаю, поможет ли это, но вместо того, чтобы делать тонны операторов if, просто сделайте это: return currentID[i/2]

Jose Henrique Felipetto 20.03.2019 18:47

@JoseHenriqueFelipetto Это помогло, но поскольку он возвращает строку, в результате каждая карта меняет свое название на букву из текущего идентификатора: 'n' 'a' 'm' 'e' '1'

Tomás Nicolorich 20.03.2019 18:58
Поведение ключевого слова "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) для оценки ваших знаний,...
0
6
75
0

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