質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

解決済

1回答

2984閲覧

Typescriptで配列にうまく代入できない

yamame01

総合スコア16

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

0クリップ

投稿2018/09/18 07:22

前提・実現したいこと

Angularを使って、画面を作成しています。
Serviceでgetしたオブジェクトを、componetnに通知し、componentで成形しています。
成形のなかで、別オブジェクトへ代入しているのですが、その際に中身は入っているように見えるのですが、lengthをとるとundifinedになってしまいます。
下記にコードを記載いたしますので、ご教授お願いいたします。

該当のソースコード

Component

typescript

1export class MyComponent() { 2 private _testList: TestClass[]; 3 private _testAll: TestAll; 4 5 ngOnInit() { 6 this._testList = service.getTestList(); 7 } 8 9 onSubmit() { 10 this._testAll.ids = this._testList; 11 this._testAll.comment = 'fugafuga'; 12 13 console.log(this._testAll.ids) // 0:{id: 0, name: "test0"}... 14 console.log(this._testAll.ids.length) // undifined 15 } 16}

Service

typescript

1 2export class MyService() { 3 private testList: TestID[]; 4 5 getTestList() { 6 this.testList = new Array(10); 7 for (i = 0; i < 10; i++) { 8 var test: TestID; 9 test.id = i; 10 test.name = 'testUser' + i.toString(); 11 12 this.testList[i] = test; 13 } 14 15 return this.testList; 16}

Classオブジェクト

typescript

1export class TestID { 2 id: number; 3 name: String; 4} 5 6export class TestAll { 7 ids: TestID[]; 8 comment: String; 9 hogehoge: String;

Componentのコンソールに表示しているところで、lengthがundefinedになっている理由が分かりません。

補足情報(FW/ツールのバージョンなど)

Angular: 5.1.2

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

spookybird

2018/09/18 14:13

console.log(JSON.stringify(this._testAll.ids)) でログ出すとどうなります?
yamame01

2018/09/19 02:58

書き込みありがとうございます!申し訳ありませんが、質問内容に誤りがあったためCloseいたしました。
guest

回答1

0

自己解決

実際にエラーが出ているコードをまねて上記コードを作ったのですが、誤りがあり上記では再現しませんでした。
ServiceのgetTestListで取得する値に誤りがあり、解決しました。
質問内容とは異なりますが、削除リクエストが却下されますので自己解決にてCloseします。

投稿2018/09/19 02:56

yamame01

総合スコア16

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問