Tôi có một mảng như dưới đây:
var sphValues = [1, 2, 3, 4, 5];
thì tôi cần chuyển đổi mảng trên như dưới đây:
var sphValues = ['1', '2', '3', '4', '5'];
Tôi có thể chuyển đổi bằng cách nào? Tôi đã sử dụng cái này để tự động hoàn thành.
Tôi có một mảng như dưới đây:
var sphValues = [1, 2, 3, 4, 5];
thì tôi cần chuyển đổi mảng trên như dưới đây:
var sphValues = ['1', '2', '3', '4', '5'];
Tôi có thể chuyển đổi bằng cách nào? Tôi đã sử dụng cái này để tự động hoàn thành.
[1,2,3,4,5].toString().split(",")
Câu trả lời:
chỉ bằng cách sử dụng các phương thức mảng
var sphValues = [1,2,3,4,5]; // [1,2,3,4,5]
sphValues.join().split(',') // ["1", "2", "3", "4", "5"]
Sử dụng 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"]
Chỉnh sửa:
Tốt hơn nên sử dụng arr.map(String);
như @elclanrs được đề cập trong các nhận xét.
Sử dụng .map()
tại ngữ cảnh này là một động thái tốt hơn, cũng như bạn có thể làm như đoạn mã dưới đây, điều này sẽ bổ sung thêm khả năng đọc cho mã của bạn,
sphValues.map(convertAsString);
function convertAsString(val) {
return val.toString();
}
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);
}
Bạn có thể sử dụng phương pháp này để tự động hoàn thành. Tôi nghĩ rằng vấn đề của bạn sẽ được giải quyết, nhưng nó sẽ không chuyển đổi như bạn muốn, nó sẽ chuyển đổi như
["label": "val1", "label": "val2"]
bạn có thể chỉ cần thêm một '' để chuyển đổi nó thành một loại chuỗi.
var sphValues = [1,2,3,4,5];
for(var itr = 0; itr<sphValues.length;itr++){
sphValues[itr] = '' + sphValues[itr];
}
const nums = [1, 2, 3, 4, 5];
const strs = Array.from(nums.join(``));
console.log(strs);
sphValues.map(String)