我有一个如下所示的数组,
var sphValues = [1,2,3,4,5];
然后我需要转换上面的数组,如下面的
var sphValues = ["1","2","3","4","5"];
我怎样才能转换? 我用它来自动完成..
答案 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)
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']