我有一个如下的数组:
var sphValues = [1, 2, 3, 4, 5];
然后我需要将上面的数组转换成下面这样:
var sphValues = ['1', '2', '3', '4', '5'];
我该怎样进行转换? 我用这个自动补全。
我有一个如下的数组:
var sphValues = [1, 2, 3, 4, 5];
然后我需要将上面的数组转换成下面这样:
var sphValues = ['1', '2', '3', '4', '5'];
我该怎样进行转换? 我用这个自动补全。
只用数组方法就可以实现
var sphValues = [1,2,3,4,5]; // [1,2,3,4,5]
sphValues.join().split(',') // ["1", "2", "3", "4", "5"]
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"]
编辑:
请根据评论中@elclanrs的建议使用arr.map(String);
更好。
for(var i = 0; i < sphValues.length; i += 1){
sphValues[i] = '' + sphValues[i];
}
在这种情况下,使用.map()
是更好的选择,你也可以像下面的代码一样做,这将使你的代码更易读。
sphValues.map(convertAsString);
function convertAsString(val) {
return val.toString();
}
const nums = [1, 2, 3, 4, 5, 10];
// bugfix: the `10` edge case
const strs = Array.from(nums, x => `${x}`);
console.log(strs);
// ['1', '2', '3', '4', '5', '10']
git diff
- const strs = Array.from(nums.join(``));
+ const strs = Array.from(nums, x => `${x}`);
var sphValues = [1,2,3,4,5];
for(var itr = 0; itr<sphValues.length;itr++){
sphValues[itr] = '' + sphValues[itr];
}
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"]
使用 map 的另一种解决方案:
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' ]
function parseArray(arr) {
const str = arr.toString();
const backToArr = str.split(',');
return backToArr;
}
sphValues.map(String)
- elclanrs[1,2,3,4,5].toString().split(",")
- Mr_Green