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

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

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

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

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

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

Q&A

解決済

3回答

174閲覧

複数の要素を指定して配列から取り出す方法

m.Tohato

総合スコア16

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

JavaScript

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

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

0グッド

1クリップ

投稿2018/10/11 04:14

複数の要素を指定して配列から取り出す方法

下記配列から"deviceName":"device2"ごとのvalueを取り出したい場合どのようにしたらよいでしょうか。

該当のソースコード

javascript

1var testarray = [ 2{ 3"id":"test1", 4"value":25, 5"deviceName":"device1", 6"Time":"2018-07-20T12:40:00}, 7{"id":"test2", 8"value":30, 9"deviceName":"device2", 10"Time":"2018-07-20 12:40:10}, 11{"id":"test3", 12"value":19, 13"deviceName":"device3", 14"Time":"2018-07-20T12:40:20}, 15{"id":"test4", 16"value":19, 17"deviceName":"device2", 18"Time":"2018-07-20T12:40:30}, 19{"id":"test5", 20"value":19, 21"deviceName":"device3", 22"Time":"2018-07-20T12:40:40}, 23{"id":"test6", 24"value":19, 25"deviceName":"device4", 26"Time":"2018-07-20T12:40:50}, 27}];

試したこと

for (var i = 0, len = testarray.length; i < len; i++) { var visits = loradata[i].value; }

以上で全てのvalueを取り出せる事は出来ました。

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

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

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

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

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

guest

回答3

0

こんにちは。

ご質問で問われていることを誤読してしまっているかもしれませんが、以下、ご参考までに回答します。

javascript

1var testarray = [ 2 { 3 id: "test1", 4 value: 10, 5 deviceName: "device1", 6 Time: "2018-07-20T12:40:00" 7 }, 8 { 9 id: "test2", 10 value: 11, 11 deviceName: "device2", 12 Time: "2018-07-20 12:40:10" 13 }, 14 { 15 id: "test3", 16 value: 12, 17 deviceName: "device3", 18 Time: "2018-07-20T12:40:20" 19 }, 20 { 21 id: "test4", 22 value: 13, 23 deviceName: "device2", 24 Time: "2018-07-20T12:40:30" 25 }, 26 { 27 id: "test5", 28 value: 14, 29 deviceName: "device3", 30 Time: "2018-07-20T12:40:40" 31 }, 32 { 33 id: "test6", 34 value: 15, 35 deviceName: "device4", 36 Time: "2018-07-20T12:40:50" 37 }, 38]; 39 40var result = testarray.reduce(function(obj, e) { 41 var name = e.deviceName; 42 if (!obj[name]) 43 obj[name] = []; 44 obj[name].push(e.value); 45 return obj; 46}, {}); 47 48console.log(JSON.stringify(result));

上記を実行すると result の内容として、以下が表示されます。

JSON

1{"device1":[10],"device2":[11,13],"device3":[12,14],"device4":[15]}

以下は、上記のコードを試すためのサンプルです。

以上参考になれば幸いです。

投稿2018/10/11 04:49

jun68ykt

総合スコア9058

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

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

0

ベストアンサー

"deviceName":"device2"ごとのvalue

「ごとの」がちょっと気になりますがこんな感じ。
(もとのソース,typo多いので注意して!)

javascript

1var testarray = [ 2 { 3 "id":"test1", 4 "value":25, 5 "deviceName":"device1", 6 "Time":"2018-07-20T12:40:00", 7 }, 8 { 9 "id":"test2", 10 "value":30, 11 "deviceName":"device2", 12 "Time":"2018-07-20 12:40:10", 13 }, 14 { 15 "id":"test3", 16 "value":19, 17 "deviceName":"device3", 18 "Time":"2018-07-20T12:40:20", 19 }, 20 {"id":"test4", 21 "value":19, 22 "deviceName":"device2", 23 "Time":"2018-07-20T12:40:30", 24 }, 25 { 26 "id":"test5", 27 "value":19, 28 "deviceName":"device3", 29 "Time":"2018-07-20T12:40:40", 30 }, 31 { 32 "id":"test6", 33 "value":19, 34 "deviceName":"device4", 35 "Time":"2018-07-20T12:40:50", 36 }, 37]; 38var data=testarray.filter(function(x){ 39 return x.deviceName==="device2"; 40}).map(function(x){ 41 return x.value; 42}); 43console.log(data);

投稿2018/10/11 04:24

yambejp

総合スコア114829

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

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

0

JavaScript

1const result = testarray.filter(a => a.deviceName === 'device2').map(a => a.value); 2console.log(result); // [30, 19]

投稿2018/10/11 04:21

x_x

総合スコア13749

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問