2017-06-19 8 views
1

に私は私が入力を持っていると私は、文字列のリストを入力すると、後にコンマによってそれらを分割角度2.活字体 - プッシュ分割さの文字列配列

を使用してアプリケーションを記述します。

入力:アイテム1、アイテム2、ITEM3

は、私がカンマで分割する必要があり、文字列を入力しました。

addItems(toSplit: string) { 
    splitted: string[] = toSplit.split(","); 
} 

と私はオブジェクトがあります。

export class Foo { 
    items: string[]; 
} 

私はfoo.itemsするために、すべての分割さの文字列をプッシュすることができますどのように?

+0

'Foo'クラスとは何ですか、なぜそれをエクスポートしましたか? –

+0

また、配列を宣言する必要があります。let splitted:string [] = toSplit.split( "、"); –

+0

英語に堪能でない人のために:「分割」は不規則な形容詞派生の不規則な動詞で、過去に緊張して形容詞を普通にする方法でも、英語では「分割された」という単語はありません。 -ed単語が通常使用される場所で使用されていても、ちょうど "分割"されています。 –

答えて

2

そして私は、それがクラスオブジェクトではありませんオブジェクト

だてきました。 (オーケー、許可され、それはまた、オブジェクトです。)itemsにアクセスするには、まずあなたが上でそれにアクセスするためにインスタンスを必要があります:あなたは、そのインスタンスを持っていて、splitから配列を作成したら、次に

const instanceOfFoo: Foo = new Foo(); 

、あなたはいずれかのことができます。

instanceOfFoo.items = splitted; 

  1. あなたFooインスタンスで配列を交換してください0

    または(あなたが同じFooで一回よりも、この多くの操作を行う可能性がある場合など、)あなたの項目へ

  2. 追加たもの:

    ...は表記を広めていること
    instanceOfFoo.items.push(...splitted); 
    

    、サポートされるべきTypeScriptでは蒸散による。

    instanceOfFoo.items.push.apply(instanceOfFoo.items, splitted); 
    

あなたはすでにあなたがFooを作成前に、分割文字列を持っている場合は、コンストラクタの引数としてそれを提供し、これらのいずれかを行うことができます:あなたの代わりに、昔ながらになりたい場合はコンストラクタ内、いずれかよりよいスーツあなたの必要性:

// Using the array provided directly 
export class Foo { 
    constructor(public items: string[] = []) { 
    } 
} 

または

// Copying the given array 
export class Foo { 
    public items: string[] = []; 
    constructor(items: string[]) { 
     this.items.push(...items); 
    } 
} 

次に、これらのいずれかを使用して:

const instanceOfFoo: Foo = new Foo(splitted); 

サイドノート:あなたは(私はそれの前にfunctionの欠如を考えると、それは方法だと仮定)あなたの方法でletconstを逃しています:

addItems(toSplit: string) { 
    const splitted: string[] = toSplit.split(","); 
// ^---- here, should be const or let depending on whether you want 
// to be able to change it 
} 
1

typescriptクラス用にconstructorを作成できます。

export class Foo { 
    constructor(private items: string[]){} 
} 

今、あなたはあなたの分割さ配列を持つクラスのオブジェクトを作成することができます。

var foo = new Foo(splitted); 
1

は、このいずれかを試してみてください:)

class Split { 
    splitted: string[]; 
    addItems(toSplit: string) { 
     this.splitted = toSplit.split(","); 
    } 
} 


export class Foo { 
    items: string[]; 
} 

var demo = new Foo(); 
var test = new Split(); 
test.addItems("Item1,Item2,Item3"); 

demo.items = test.splitted; 

console.log(demo.items);