
いつもお世話になっています。
配列から任意の要素を抽出するにはfilter()で簡単にできますが、
これと同じようにオブジェクトから任意のプロパティを抽出するにはどうすれば良いですか。
例えば、次のようなデータがあって、
勇者のレベルが上がった時に、その時点で覚えられる呪文を全部取得する最も簡単な方法はなんですか。
呪文 = {
ホイミ: {mp: 3, 覚えるレベル: {勇者: 5, 僧侶: 1},
ルーラ: {mp: 8, 覚えるレベル: {勇者: 8, 魔女: 15}
}
パーティー = [
勇者: {レベル: 1, 呪文 = []},
魔女: {レベル: 1, 呪文 = []}
]
No.1ベストアンサー
- 回答日時:
for (職 in パーティ) {
_ 位 = パーティ[職].レベル
_ 会得 = []
_ for (名 in 呪文) {
_ _ if (呪文[名].覚えるレベル[職] <= 位) {
_ _ _ 会得.add(名)
_ _ }
_ }
_ パーティー[職].呪文 = 会得
}
参考)
https://developer.mozilla.org/ja/docs/Web/JavaSc …
もっと厳密にやるならば
https://developer.mozilla.org/ja/docs/Web/JavaSc …
https://developer.mozilla.org/ja/docs/Web/JavaSc …
ありがとうございます^^;
改めて見ると私の質問、構文エラーがひどい。。。
ご回答の_は、読みやすくするための単なる字下げ、会得.add(名)は、会得.push(名)と読み替えました。
このコードで満足する結果が得られました。
察するにオブジェクトには、配列のfilter()のような便利なメソッドがないので、filter()を使いたいなら、あらかじめObject.keys()や.entries()で配列を作るという手順が必要と認識しました。
さらに調べますと、値だけ取ってくるObject.values()を知り、
Object.values().filter()でオブジェクトから任意のプロパティ値を全部取ってくる事ができました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 英語勉強 4 2022/07/14 21:01
- Word(ワード) Word 見出しの設定が上手くいきません。 2 2023/06/18 10:05
- 新卒・第二新卒 就活について なぜ、日本の会社は新卒一括採用でポテンシャル採用の上に年功序列や固定給、時間給何ですか 5 2023/08/18 23:09
- 超常現象・オカルト 魔術師に本気でなりたいと思っております。 5 2022/03/22 15:09
- 大学受験 回答お願い致します! 大学受験、古典の参考書ルートです! 古典の参考書ルートについて質問です。 ①読 1 2023/08/13 20:17
- 大学受験 なぜ共通テストの古文、漢文は1ヶ月でなんとかなるとか言われるんですか?ウソですよね?私勉強してみまし 3 2023/03/01 01:08
- その他(教育・科学・学問) 英語できません、助けてください… 3 2022/11/14 23:59
- その他(ゲーム) ドラクエ5の兵士ピピン等について。 1 2023/06/30 04:09
- 超常現象・オカルト 私に向いているお仕事は何かありますでしょうか。 簡単に自己紹介をすると、私は高卒のオカルト好きで、趣 7 2023/01/10 14:16
- CGI サイト訪問者の情報を取得したい 1 2023/02/21 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptで配列の重複判定の...
-
配列を作って総当たりで距離を...
-
JSで配列同士の重複チェック
-
同じIDで定義した要素の配列を...
-
二次元配列を使って順位をだす...
-
空の配列に2次元配列の追加
-
Ajax Updaterでドラッグアンド...
-
jspからjavascriptの変数引継ぎ
-
JavaScriptでタブメニューを実...
-
JavaScriptでdocument.fileCrea...
-
HTTPSのとき":"が"%3A"ではなく...
-
「エラー:…は宣言されていませ...
-
Html(表)のExcel出力
-
ジェネレーターの作り方
-
シンプルなweb版スタンプラリー...
-
Tabキーのキャンセル
-
javascriptで繰り返し処理
-
比較演算子について
-
Boolean型配列中のTrueの有無を...
-
svn(subversion)について質問...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
javascriptで行を抽出したいです。
-
二次元配列を使って順位をだす...
-
undefinedを表示させない方法は...
-
JSONデータを50音順でソートしたい
-
JavaScriptにおける[] とか :...
-
JavaScriptで簡単なクイズを作...
-
1から20までの整数から、重複な...
-
JavaScriptでの動的な多次元配...
-
二次元配列の全要素の全要素を...
-
HTMLで誕生石と星座をアラート...
-
textareaに入力されたデータを...
-
配列を作って総当たりで距離を...
-
句点“。”で区切り、“。”も含め...
-
javascriptでの3次元配列のソート
-
ソートで
-
javascriptで2つのArrayの...
おすすめ情報