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

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

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

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

Q&A

解決済

2回答

985閲覧

JavaScriptで不定のキーを指定して連想配列から値を取得できますか?

con_con

総合スコア22

JavaScript

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

0グッド

0クリップ

投稿2020/10/28 12:06

編集2020/10/28 12:08

以下wrapperから「a_●●」という条件で{data:'apple'}を取得するにはどうしたらいいでしょうか?

だたし●●は不定です。

javascript

1var wrapper = { 2 a_post:{ 3 arr: [ 4 {data:'apple'}, 5 ], 6 arg:{} 7 }, 8 b_user:{ 9 arr: [ 10 {data:'banana'} 11 ], 12 arg:{} 13 } 14}; 15

イメージ的には正規表現でこういった指定などができないかと考えているのですが…無理でしょうか。

javascript

1var a = wrapper['a_'/.+/] || {}; 2var result = a.arr[0]; 3console.log(result);

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

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

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

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

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

guest

回答2

0

Object.keysでキーの配列が取れますので、あとはそこから検索して正しいキーを探しだしてください。

投稿2020/10/28 12:25

maisumakun

総合スコア146018

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

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

con_con

2020/10/28 12:32

ありがとうございます。
guest

0

ベストアンサー

javascript

1var res=Object.entries(wrapper).filter(x=>/^a_/.test(x[0])).map(x=>x[1].arr[0]);; 2console.log(res);

投稿2020/10/28 12:34

yambejp

総合スコア116724

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

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

con_con

2020/10/28 12:49 編集

ありがとうございます。maisumakun様に教えて頂きObject.keysを使いループして以下としました。 var result = []; Object.keys(wrapper).forEach(function(key){ if( /^a_.+$/.test(key) ){ result = wrapper[a_key] ? wrapper[a_key]['arr'][0] : {}; }; }) console.log(result); しかしこの自分で書いたコードよりも、ご回答の方がはるかに高度なので使わせて頂きたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問