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

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

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

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

TypeScript

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

Q&A

0回答

687閲覧

JS(TypeScript) 連想配列 検索処理について

ashunt

総合スコア2

JavaScript

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

TypeScript

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

0グッド

0クリップ

投稿2020/10/17 11:08

編集2020/10/17 16:24

やりたいこと
・JS(TypeScript)の連想配列において、階層を取得し、特定階層以上はfalseにしたい。

TypeScript

1[ 2 { 3 "id": 1, 4 "name": "フォルダA", 5 folder:[ 6 { 7 "id":2, 8 "name":"フォルダA-2" 9 }, 10 { 11 "id":3, 12 "name":"フォルダA-3" 13 }] 14 }, 15 { 16 "id": 4, 17 "name": "フォルダB" 18 }, 19 { 20 "id": 5, 21 "name": "フォルダC", 22 folder:[ 23 { 24 "id":6, 25 "name":"フォルダC-1", 26 folder:[ 27 { 28 "id": 7, 29 "name": "フォルダC-1-1" 30 }] 31 }] 32 } 33]

上記のような入れ子構造のデータがあります。
また、folderプロパティは必須ではない・idは一意です。

特定のidの階層を数え、特定の階層以上だった場合はfalseを返すメソッドを作成したいのですが、思い付かず悩んでいます。(再帰処理?)
ご教授頂けないでしょうか。

例:id=6 の場合は、countNode=1としたい。id=7の場合は、countNode=2としたい。(dataは上記のデータ全ての想定)
countNode>=10の場合はfalse

TypeScript

1const countNode(currentId:string,data:any):boolean => { 2 const node = 0; 3 const maxNode = 10; 4 //以下処理悩み中。 5}

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

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

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

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

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

think49

2020/10/18 00:30

https://teratail.com/questions/298450 こちらに同じ趣旨の質問と回答があります。 「JavaScript 再帰」でぐぐって、簡単な再帰処理コードを書いてから、本課題に取り組むと良いと思います。
ashunt

2020/10/18 11:30

ご連絡ありがとうございます! 参考にさせて頂き、取り組んでみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問