2017-02-09 165 views
0

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

串号(正在从服务器数据)的样子:

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

我需要转换成: -

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

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

回答

3

您可以使用map遍历数组,并与转换的值返回新的数组:

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

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

console.log(dataStrings); 
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)));

1

要转换intstring,有很多方法。其中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);


希望这有助于! :)

相关问题