Eu tenho uma matriz como abaixo:
var sphValues = [1, 2, 3, 4, 5];
então eu preciso converter a matriz acima como abaixo:
var sphValues = ['1', '2', '3', '4', '5'];
Como posso converter? Usei isso para autocompletar.
javascript
arrays
Gihansalith
fonte
fonte
sphValues.map(String)
[1,2,3,4,5].toString().split(",")
Respostas:
Você pode usar map e passar o construtor String como uma função, que transformará cada número em uma string:
sphValues.map(String) //=> ['1','2','3','4','5']
Isso não causará mutação em sphValues. Ele retornará uma nova matriz.
fonte
Use
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"]
Edit:
Melhor usar
arr.map(String);
como @elclanrs mencionado nos comentários.fonte
apenas usando métodos de array
var sphValues = [1,2,3,4,5]; // [1,2,3,4,5] sphValues.join().split(',') // ["1", "2", "3", "4", "5"]
fonte
for(var i = 0; i < sphValues.length; i += 1){ sphValues[i] = '' + sphValues[i]; }
fonte
Use
.map()
neste contexto que é uma jogada melhor, assim como você pode fazer como o código abaixo, isso adicionaria mais legibilidade ao seu código,sphValues.map(convertAsString); function convertAsString(val) { return val.toString(); }
fonte
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); }
Você pode usar este método para preenchimento automático. Acho que seu problema será resolvido, mas não vai converter como você quer, vai converter como
["label": "val1", "label": "val2"]
fonte
você pode apenas anexar um '' para convertê-lo em um tipo de string.
var sphValues = [1,2,3,4,5]; for(var itr = 0; itr<sphValues.length;itr++){ sphValues[itr] = '' + sphValues[itr]; }
fonte
Solução ES6
const nums = [1, 2, 3, 4, 5]; const strs = Array.from(nums.join(``)); console.log(strs);
fonte