簡體   English   中英

Angular 將數組轉換為字符串

[英]Angular Convert Array into string

我有以下數組 (testArray),我希望將所有州提取到字符串中 ('Arizona','Alaska','Florida','Hawaii','Gujarat','Goa','Punjab'...) . 有沒有更簡單的方法來做到這一點?

let testArray: State[];
testArray = this.getStates();

getStates() {
 return [
  new State(1, 1, 'Arizona'),
  new State(2, 1, 'Alaska'),
  new State(3, 1, 'Florida'),
  new State(4, 1, 'Hawaii'),
  new State(5, 2, 'Gujarat'),
  new State(6, 2, 'Goa'),
  new State(7, 2, 'Punjab'),
  new State(8, 3, 'Queensland'),
  new State(9, 3, 'South Australia'),
  new State(10, 3, 'Tasmania'),
  new State(11, 4, 'Penang')
 ];
}

最簡單的方法如下

getStates().map(x=>x.StateName).join(",")

示例如下

 function State(id,val,StateName) { this.id = id; this.val = val; this.StateName = StateName; } function getStates() { return [ new State(1, 1, 'Arizona'), new State(2, 1, 'Alaska'), new State(3, 1, 'Florida'), new State(4, 1, 'Hawaii'), new State(5, 2, 'Gujarat'), new State(6, 2, 'Goa'), new State(7, 2, 'Punjab'), new State(8, 3, 'Queensland'), new State(9, 3, 'South Australia'), new State(10, 3, 'Tasmania'), new State(11, 4, 'Penang') ]; } //Simplest Way is as follows console.log(getStates().map(x=>x.StateName).join(","))

那么將array轉換為逗號分隔的string最簡單的方法是

var commaSeperatedString = arrayName.toString(); 

使用reduce 的另一種解決方案。

getStates().reduce((current, value, index) => {
    if(index > 0)
        current += ',';

    return current + value.StateName;
}, '');

作為一個完整的片段:

 function State(id,val,StateName) { this.id = id; this.val = val; this.StateName = StateName; } function getStates() { return [ new State(1, 1, 'Arizona'), new State(2, 1, 'Alaska'), new State(3, 1, 'Florida'), new State(4, 1, 'Hawaii'), new State(5, 2, 'Gujarat'), new State(6, 2, 'Goa'), new State(7, 2, 'Punjab'), new State(8, 3, 'Queensland'), new State(9, 3, 'South Australia'), new State(10, 3, 'Tasmania'), new State(11, 4, 'Penang') ]; } var merged = getStates().reduce((current, value, index) => { if(index > 0) current += ','; return current + value.StateName; }, ''); console.log(merged);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM