将数字数组转换为angularjs中的字符串数组

时间:2017-02-09 12:44:38

标签: angularjs arrays

我需要将数字数组转换为角度的字符串数组。

数字字符串(从服务器获取数据)如下所示:

"data": [
        957,
        958,
        959,
        960,
        961,
        963
    ],

我需要转换成: -

data=["957","958","959","960","961","963"]

我尝试但没有成功。请帮忙。

3 个答案:

答案 0 :(得分:3)

您可以使用map迭代数组并返回包含转换值的新数组:

var dataNumbers = [
        957,
        958,
        959,
        960,
        961,
        963
    ];

var dataStrings = dataNumbers.map(function(value) {
 return String(value);
});

console.log(dataStrings);

答案 1 :(得分:1)

您可以使用Array.prototype.map()创建新阵列。

在回调功能中,您可以使用"" + o或使用String(o)

var data= [
  957,
  958,
  959,
  960,
  961,
  963
];

console.log(data.map(o => ""+o));
console.log(data.map(o => String(o)));

答案 2 :(得分:1)

要将int转换为string,有很多方法。其中toString()似乎是更好的选择。您可以找到其他可能的方法here

现在迭代一个数组,更好的方法是map()方法。这个想法是迭代每个元素将该元素转换为字符串。

以下是适合您的工作片段。



var data= [
  957,
  958,
  959,
  960,
  961,
  963
];

console.log(data.map(elt => String(elt)));

console.log(data.map(elt => elt.toString()));

console.log(data.map(elt => elt + ''));

console.log(data.map(elt => '' + elt));




以下是使用不同类型的循环迭代的相同代码。



var data= [
  957,
  958,
  959,
  960,
  961,
  963
];

new_data = []

for (let i of data) {
  new_data.push(i.toString()); 
}

console.log(new_data);


new_data = []

for (i = 0; i < data.length; i++) {
  new_data.push(data[i].toString()); 
}

console.log(new_data);
&#13;
&#13;
&#13;

希望这有帮助! :)