Динамические переменные из объекта JSON или строк в JavaScript

У меня есть сетевое приложение, которое обновляет несколько параметров в режиме реального времени, отправляя клиенту массив с плавающей запятой. Я хочу иметь возможность легко изменять отображение массива с плавающей запятой на уже существующие переменные в клиентском скрипте каждый раз, когда я загружаю сервер (например, изменяя файл JSON)

При подключении к серверу клиент получает список параметров:

["delayTime", "feedbackAmount", "backgroundColor"]

Будущее сообщение:

[0.01, 0.4, 0.9]

делает равными одноименные переменные:

delayTime = 0.01;
feedbackAmount = 0.4;
backgroundColor = 0.9;

Могу ли я преобразовать эти строки / ключи объекта в связанные с ними переменные и обновить их соответствующим массивом чисел с плавающей запятой без указания места назначения в каждом сообщении (поскольку изменяющиеся числа с плавающей запятой проходят так быстро, как сервер может их отправить)? По аналогии ... если бы это были просто соответствующие значения двух массивов:

for (int i = 0; i < floatArray.length; i++){
     variable[i] = floatArray[i]
}

Но значение переменной [i] обновляет связанную переменную, которую я инициализировал.

Я надеюсь это имеет смысл; Я не могу осмыслить это, но кажется, что это должно быть довольно просто.

вы пробовали это w3schools.com/js/js_json_stringify.asp

Darshan Dave 05.04.2018 07:54

@DarshanDave Я как бы хочу сделать наоборот - преобразовать строки в переменные (или, скорее, использовать их для связи с существующими переменными в клиентском скрипте)

jcharney 05.04.2018 08:06

хорошо, это означает, что у вас есть {key: value} как строка, а это вам нужно как переменная правильно

Darshan Dave 05.04.2018 08:10

что вы можете сделать с помощью Json.Parse

Darshan Dave 05.04.2018 08:12
Поведение ключевого слова "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
4
346
1

Ответы 1

Не идите по этому пути, создайте еще один массив, содержащий объекты, как показано ниже.

[
    {
        "key": "delayTime",
        "value": 0.01
    },
    {
        "key": "feedbackAmount",
        "value": 0.4
    },
    {
        "key": "backgroundColor",
        "value": 0.9
    }
]

MAP два массива

let a = ["delayTime", "feedbackAmount", "backgroundColor"];
let b = [0.01, 0.4, 0.9];
let tempArray;
tempArray = a.map(function (x, i) {
    return {"key": x, "value": b[i]}        
}.bind(this));
console.info(tempArray);

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