質問編集履歴

1 追記

MeB

MeB score 86

2018/07/25 10:54  投稿

underscore.jsの_.where()で同じキーで異なる値の場合に取得できない
### 前提・実現したいこと
_.where()で同じキーで異なる値を設定したいです。
どのような形が正解なのでわかってはいませんが、
```js
var results = _.where(dataArray, [{type: "1"},{color: "red"},{color: "blue"}]); //この形ではうまく取れませんでした。
```
イメージは上記のような感じです。
dataArrayの中はjsonファイルになります。(下記の参照をお願いします。)
### 試したこと
```json
{
   "test":[
       {
           "name":"aaa",
           "type":"1",
           "color":"red"
       },
       {
           "name":"bbb",
           "type":"1",
           "color":"blue"
       },
       {
           "name":"ccc",
           "type":"2",
           "color":"blue"
       },
```
```js
//試したもの その1
var results = _.where(dataArray, [{type: "1"},{color: "red"},{color: "blue"}]); //何も取れない
//試したもの その2
var results = _.where(dataArray, {type: "1"},{color: "red"},{color: "blue"}); //type: "1"しか反映されない(nameでいうとaaaとbbbのみ取り出せる
//試したもの その3
var results = _.where(dataArray, {type: "1",color: ["red","blue"]}); //何も取れない
```
他にも試していますが、どのように取るのが正しいのでしょうか?
ご教示をよろしくお願いします。
ご教示をよろしくお願いします。
underscore.jsはこだわっている訳ではないのでjsで普通にこう書いたらいいというものでも問題ありません。
  • JavaScript

    20353 questions

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

  • JSON

    1453 questions

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

  • Underscore.js

    39 questions

    Underscore.jsは、JavaScriptのためのユーティリティライブラリです。JavaScriptの関数・配列、オブジェクトを扱う際に度々発生する処理がメソッドとしてまとめられています。他のライブラリに依存しないため、稼働中のアプリケーションにも導入可能です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る