2

私はこのような配列を持っています

var data = [
 {"target": "production", "datapoints": [[165.0, 136], [141.0, 176], [null, 176]]},
 {"target": "test", "datapoints": [[169.0, 100], [151.0, 160], [null, 120]]},
 {"target": "backup", "datapoints": [[1.0, 130], [32.0, 120], [13.0, 130]]}
]

この配列を検索して、たとえば次を含むハッシュを返すことは可能ですか?"production"

{"target": "production", "datapoints": [[165.0, 136], [141.0, 176], [null, 176]]}

このhttp://api.jquery.com/jQuery.inArray/を見ましたが、使い方がわかりませんでした。

4

5 に答える 5

6

できるよ:

var target = "production";
var result = $.grep(data, function(e){ return e.target == target; });

console.log(result);
于 2013-08-10T15:18:50.537 に答える
3

これが意図したものかどうかはわかりませんが、次のことを試してください。

for(var i=0;i<data.length;i++) 
    if(data[i].target=='production') 
        return data[i]
        // or do something else/more

これは配列を繰り返し処理し、' target' 属性の値 ' production'をチェックします。

于 2013-08-10T15:16:39.347 に答える
0
function findHash(hash, data) {
  var dataLen = data.length;
  for(dataLen > 0; dataLen--;) {
    if( data[dataLen].target == hash) {
      return data[dataLen];
    }
  }
  return false;
}

大規模な配列でこれを使用することはお勧めしませんが、うまくいくか、正しい軌道に乗るはずです。

于 2013-08-10T15:17:39.163 に答える