Как перевести тип данных с С++ на JS?
Помогите типы данных перевести с С++ на JS
map<pair<string, string>, float> map<string, vector<float> > pair<string, string> |
map<pair<string, string>, float> map<string, vector<float> > pair<string, string>
Дополнительно:
map pair string, string, float: В JavaScript нет прямого эквивалента структуры pair, поэтому можно использовать массивы или объекты с двумя элементами вместо него.
Ответы:
pair - массив из двух элементов или объект с двумя полями.
["a", "b"]
{"fst": "a", "snd": "b"}
map<string, vector<float> > Объект или Map у которого в качестве значения - массив, а в качестве ключа-строка.
{"a": [1.2, 3.5]}
map<pair<string, string>, float> С этим сложнее, тк что массивы, что объекты в js сравниваются по ссылке => вариант того, как мы представляем pair сам по себе не подойдёт.
Так что тут лучше будет вместо pair использовать строку, которая создана как конкатенация двух экранированных строк через разделитель.
const map = {}; const a = "abc"; const b = "123"; const key = `${btoa(a)}$${btoa(b)}`; map[key] = 42; |
const map = {}; const a = "abc"; const b = "123"; const key = `${btoa(a)}$${btoa(b)}`; map[key] = 42;
- Только между строками лучше разделитель добавить, а то 'a'+'bc123' даст тот же ключ.
- Rsa97, так я же и добавил разделитель.
UPD: а блин это же js, тут другой синтаксис для форматированных строк
У меня вообще изначально криво было
а то 'a'+'bc123' даст тот же ключ.
Кстати, без btoa, но с разделителем можно было бы такое всё равно проворачивать.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для перевода типов данных из C++ в JavaScript необходимо учитывать различия между этими двумя языками программирования. Вот некоторые основные типы данных в C++ и их эквиваленты в JavaScript:
1. Целочисленные типы данных:
- В C++ есть различные типы данных для целых чисел, такие как int, short, long и т. д. В JavaScript целые числа представляются только одним типом данных - Number.
Пример перевода целочисленного типа данных из C++ в JavaScript:
int num = 10; // C++ var num = 10; // JavaScript
2. Вещественные типы данных:
- В C++ вещественные числа могут быть представлены типами данных float и double. В JavaScript вещественные числа также представляются типом данных Number.
Пример перевода вещественного типа данных из C++ в JavaScript:
float num = 3.14; // C++ var num = 3.14; // JavaScript
3. Символьные типы данных:
- В C++ символьные типы данных представлены типом char. В JavaScript символы могут быть представлены строками длиной 1.
Пример перевода символьного типа данных из C++ в JavaScript:
char c = 'A'; // C++ var c = 'A'; // JavaScript
4. Строковые типы данных:
- В C++ строки представлены типом данных std::string. В JavaScript строки также представлены типом данных String.
Пример перевода строкового типа данных из C++ в JavaScript:
std::string str = "Hello"; // C++ var str = "Hello"; // JavaScript
5. Логический тип данных:
- В C++ логический тип данных представлен типом bool (true/false). В JavaScript логические значения также представлены типом Boolean.
Пример перевода логического типа данных из C++ в JavaScript:
bool flag = true; // C++ var flag = true; // JavaScript
Это основные примеры перевода типов данных из C++ в JavaScript. Помните, что в JavaScript нет строгой типизации, поэтому необходимо быть внимательным при работе с типами данных и их преобразованиями.