Получить строку из списка, связанного с юникодом в javaScript

У меня есть список значений Unicode [65, 66, 67] и я хочу соответствующую строку "ABC", Я посмотрел в документации и нашел функцию String.fromCharCode()это делает то, что мне нужно сделать. Единственная проблема заключается в том, что аргументы должны быть последовательностью чисел.

Так что, если я использую String.fromCharCode([65, 66, 67]) это дает мне " ", Есть ли способ, который позволяет рассматривать список как последовательность для функции?

4 ответа

Решение

Вы должны распространить массив с помощью ...spread Синтаксис

console.log(String.fromCharCode(...[65, 66, 67]));

От MDN

Синтаксис распространения позволяет расширять итерацию, например выражение массива, в местах, где ожидается ноль или более аргументов (для вызовов функций), или элементы (для литералов массива), или выражение объекта может быть развернуто в местах, где ноль или более Ожидаются пары значений (для литералов объектов).

Карта в списке, а затем присоединиться:

var s = [65, 66, 67].map(x => String.fromCharCode(x)).join("");
console.log(s);

/* You can map over the list and the value you need will be output to anoter list */
var charCodes = [65, 66, 67],
    stringsFromCharCodes = charCodes.map(item => String.fromCharCode(item));

console.log('new list: ', stringsFromCharCodes);

Вы можете использовать применить, чтобы решить эту проблему

var chars = [65,66,67]
var s = String.fromCharCode.apply({}, chars)
console.log(s);

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