Converteer integer array naar string array in JavaScript

Ik heb een array zoals hieronder:

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

dan moet ik de bovenstaande array converteren zoals hieronder:

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

Hoe kan ik converteren?
Ik heb dit gebruikt voor automatisch aanvullen.


Antwoord 1, autoriteit 100%

U kunt kaartgebruiken en geef de String-constructor door als een functie, die elk nummer in een tekenreeks verandert:

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

Hiermee worden sphValues ​​niet gemuteerd. Het zal een nieuwe array retourneren.


Antwoord 2, autoriteit 5%

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

Bewerken:
Het is beter om arr.map(String);te gebruiken zoals @elclanrs vermeld in de opmerkingen.


Antwoord 3, autoriteit 5%

gewoon door array-methoden te gebruiken

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

Antwoord 4, autoriteit 3%

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

Antwoord 5, autoriteit 3%

Gebruik .map()in deze context, dat is een betere zet, evenals de onderstaande code, dit zou uw code beter leesbaar maken,

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

Antwoord 6

je kunt gewoon een ” toevoegen om het naar een tekenreekstype te converteren.

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

Antwoord 7

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);
 }

U kunt deze methode gebruiken voor automatisch aanvullen. Ik denk dat je probleem zal worden opgelost, maar het zal niet converteren zoals je wilt, het zal converteren zoals

["label": "val1", "label": "val2"]

Antwoord 8

ES6-oplossing

const nums = [1, 2, 3, 4, 5];
const strs = Array.from(nums.join(``));
console.log(strs);

Snippet uitvouwen


Antwoord 9

Een andere oplossing met kaart:

let nums = [1,2,2,4,3,2,5,6]
let all_to_str = nums.map(num => {return num.toString()})
console.log(all_to_str)

Uitvoer:

[ ‘1’, ‘2’, ‘2’, ‘4’, ‘3’, ‘2’, ‘5’, ‘6’ ]


Antwoord 10

gewoon door de array.map-methode te gebruiken, kunt u een reeks getallen converteren naar een reeks tekenreeksen

var sphValues = [1, 2, 3, 4, 5];
const numberToStringArray = sphValues.map((number) => {
return number.toString();
});
console.log(numberToStringArray); //['1', '2', '3', '4', '5']

Other episodes