У меня есть массив, как показано ниже:
var sphValues = [1, 2, 3, 4, 5];
то мне нужно преобразовать вышеупомянутый массив, как показано ниже:
var sphValues = ['1', '2', '3', '4', '5'];
Как я могу конвертировать? Я использовал это для автозаполнения.
javascript
arrays
Gihansalith
источник
источник
sphValues.map(String)
[1,2,3,4,5].toString().split(",")
Ответы:
Вы можете использовать map и передать конструктор String как функцию, которая превратит каждое число в строку:
sphValues.map(String) //=> ['1','2','3','4','5']
Это не приведет к изменению sphValues. Он вернет новый массив.
источник
Использование
Array.map
:var arr = [1,2,3,4,5]; var strArr = arr.map(function(e){return e.toString()}); console.log(strArr); //["1", "2", "3", "4", "5"]
Изменить:
лучше использовать
arr.map(String);
как @elclanrs, упомянутые в комментариях.источник
просто используя методы массива
var sphValues = [1,2,3,4,5]; // [1,2,3,4,5] sphValues.join().split(',') // ["1", "2", "3", "4", "5"]
источник
for(var i = 0; i < sphValues.length; i += 1){ sphValues[i] = '' + sphValues[i]; }
источник
Используйте
.map()
в этом контексте, что это лучший ход, а также вы можете сделать как в приведенном ниже коде, это добавит больше читаемости вашему коду,sphValues.map(convertAsString); function convertAsString(val) { return val.toString(); }
источник
var value; for (var i = 0; i < data3.sph.length; i++) { value = data3.sph[i]; //sphValues[i] = data3.sph[i]; var obj = { label: value }; sphValues.push(obj); }
Вы можете использовать этот метод для автозаполнения. Я думаю, ваша проблема будет решена, но он не будет преобразовывать так, как вы хотите, он будет преобразовывать как
["label": "val1", "label": "val2"]
источник
вы можете просто добавить "", чтобы преобразовать его в строковый тип.
var sphValues = [1,2,3,4,5]; for(var itr = 0; itr<sphValues.length;itr++){ sphValues[itr] = '' + sphValues[itr]; }
источник
Решение ES6
const nums = [1, 2, 3, 4, 5]; const strs = Array.from(nums.join(``)); console.log(strs);
источник