2017-02-09 380 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);


希望這有助於! :)