在javascript中将整数数组转换为字符串数组

时间:2014-10-29 06:43:41

标签: javascript arrays

我有一个如下所示的数组,

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

然后我需要转换上面的数组,如下面的

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

我怎样才能转换? 我用它来自动完成..

9 个答案:

答案 0 :(得分:137)

您可以使用map并将String构造函数作为函数传递,这会将每个数字转换为字符串:

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

这不会改变sphValues。它将返回一个新数组。

答案 1 :(得分:8)

使用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。

答案 2 :(得分:6)

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

答案 3 :(得分:5)

在此上下文中使用.map()这是一个更好的举措,您可以像下面的代码那样做,这会为您的代码增加更多的可读性,

sphValues.map(convertAsString);

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

答案 4 :(得分:5)

只使用数组方法

background-position

答案 5 :(得分:2)

你可以追加一个&#39;&#39;将其转换为字符串类型。

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

答案 6 :(得分:2)

 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 :(得分:1)

ES6解决方案

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

答案 8 :(得分:0)

另一种使用地图的解决方案:

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)

输出:

<块引用>

['1', '2', '2', '4', '3', '2', '5', '6']