@Intelix

Как использовать значение переменной в виде строки?

Есть переменная colors
Есть массивы
let cold = [
    'blue',
    'green'
]
let warm = [
    'red',
    'yellow'
]


Нужно в зависимости от значения переменной colors (cold/warm) вывести текст
colors = 'cold'
$('h1').html(colors[0]) // blue
$('h2').html(colors[1]) // green


Но выводится
C
O
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
const cold = [
    'blue',
    'green'
]
const warm = [
    'red',
    'yellow'
]

const colors = 'cold';
console.log(({warm, cold})[colors][0]) // blue
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Tim-A-2020
@Tim-A-2020
Ответ написан
Psixodelik
@Psixodelik
Преподаватель на Hexlet
colors это сейчас строка

colors = 'cold'

Соответственно использование конструкции colors[0] и colors[1] будут забирать символы строки.

Вы должны положить весь массив cold или warm. Должно получится что-то из серии colors = cold;
Ответ написан
MagnusDidNotBetray
@MagnusDidNotBetray
Самый елеустремленный человек
Ещё можно так:
const colorsList = {
  'cold': [
  	'blue',
  	'green'
  ],
  'warm': [
    'red',
    'yellow'
  ]
};

let colors = 'cold';
console.log(colorsList[colors][0]) // blue
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы