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

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

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

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

Q&A

解決済

2回答

3823閲覧

JSONデータでvalue値からkeyの値1件のみ取得したい

ataru2222

総合スコア272

JavaScript

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

0グッド

1クリップ

投稿2021/05/24 13:39

前提・実現したいこと

JSONデータにてkeyの値を取得したい。

ただいま、JAVAのStringデータをJSONデータに加工したのですが、JSONデータの構成は
{"key","value"}となっていてわかったのですが、取得の際

該当のソースコード

javascript

1var test = {"test1":"100点","test2":"200点","test3":"300点"}; 2 3console.log(Object.key(test)); 4 5function changePulldown(){ 6 var test = document.getElementById('drop_meny').value; //ここにvalue値が入ります 7 console.log(json_obj.keys(test));           //対応したkeyの値が取得したい 8} 9

valueの"100点"からさかのぼってkeyの値"test1"を取得することってできるのでしょうか?

こちらのサイトのような全件取得ではなくドロップダウンで選択した値がvalue値となっているので
対応したkeyの値1件のみ欲しいです。

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
console.log(Object.keys(object1));
// expected output: Array ["a", "b", "c"]

試したこと

keyやget()など思い当たるようなものをテストしてみました。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

直接取得ができないのであれば、JSONデータを作る際の知識として覚えておきたいと考え質問させていただきました。
こちらに関して詳しい方いらっしゃいましたら、ご教示ください。
よろしくお願いいたします。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答2

0

ベストアンサー

Object.entries(obj)関数により、[key, value]のペアが入った配列が取得できます。
後はfilter関数などで目的のデータを抽出すれば良いでしょう。

javascript

1var test = {"test1":"100点","test2":"200点","test3":"300点"}; 2console.log(Object.entries(test)); 3var result = Object.entries(test).filter( item => item[1] === "100点"); 4console.log(result[0]);

結果:

[ [ 'test1', '100点' ], [ 'test2', '200点' ], [ 'test3', '300点' ] ] [ 'test1', '100点' ]

投稿2021/05/24 14:21

hope_mucci

総合スコア4447

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

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

ataru2222

2021/05/24 20:58

回答していただきありがとうございます。 やはり、keyを取得するには構文1つでなんとかなるのではなく処理が必要になるのですね。 とても勉強になりました。 本当にありがとうございました。
guest

0

js

1var test = {"test1":"100点","test2":"200点","test3":"300点"}; 2function changePulldown(){ 3 var x = document.getElementById('drop_meny').value; 4 console.log(test[x]); 5}

投稿2021/05/24 14:21

kei344

総合スコア69458

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

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

ataru2222

2021/05/24 20:44

解答していただきありがとうございます。 こちらの書き方だと、ドロップダウンがkeyの値だとvalueの値は取得できるのですが、 その逆、ドロップダウンがvalueの値だとkeyの値は取得できずに「undefined」となってしまいました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問