Подтвердить что ты не робот

Преобразовать целочисленный массив в строковый массив в javascript

У меня есть массив, как показано ниже,

var sphValues = [1,2,3,4,5];

тогда мне нужно преобразовать выше массив, как показано ниже

var sphValues = ["1","2","3","4","5"];

Как я могу конвертировать? Я использовал это для автозаполнения.

4b9b3361

Ответ 1

Вы можете использовать map и передать конструктор String как функцию, которая будет превратите каждое число в строку:

sphValues.map(String) //=> ['1','2','3','4','5']

Ответ 2

for(var i = 0; i < sphValues.length; i += 1){
    sphValues[i] = '' + sphValues[i];
}

Ответ 3

Используйте .map() в этом контексте, что является лучшим движением, а также вы можете сделать, как приведенный ниже код, это добавит больше читаемости в ваш код,

sphValues.map(convertAsString);

function convertAsString(val) {
  return val.toString();
}

Ответ 4

Используйте 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, упомянутый в комментариях.

Ответ 5

вы можете просто добавить '', чтобы преобразовать его в тип строки.

var sphValues = [1,2,3,4,5];
for(var itr = 0; itr<sphValues.length;itr++){
  sphValues[itr] = '' + sphValues[itr];
}

Ответ 6

 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"]

Ответ 7

просто используя методы массива

var sphValues = [1,2,3,4,5];   // [1,2,3,4,5] 
sphValues.join().split(',')    // ["1", "2", "3", "4", "5"]