0

次のような多次元配列があります。

var allObj = {'@DB M-T 1@': 'DB More Than 1','@ES L-T 5@': 'ES Less Than 5','@MM E-Q 0@': 'MM Equal 0'};

そして、私は次のような基準を持っています:

var criteriaArray = {'DB More Than 1','MM Equal 0'};

criteriaArray の値を満たすように、allObj 配列から新しい配列を作成したいと思います。出力は次のようになります。

var matchObj = {'@DB M-T 1@': 'DB More Than 1','@MM E-Q 0@': 'MM Equal 0'};

私が集めたものから、jquery grep を使用できます。しかし、私はそれを正しく行う方法を理解できません。誰かが私を助けてくれれば幸いです。私は何時間もこれに取り組んできました。

4

2 に答える 2

0

オブジェクト (配列ではない) のプロパティを値でフィルタリングしたいようです。

最も簡単なのはこれを行うことです:

var criteriaArray = ['DB More Than 1','MM Equal 0']; // your syntax was bad
var matchObj = {}; // resulting object
for (var key in allObj) {
   if (criteriaArray.indexOf(allObj[key]) !== -1) {
       matchObj[key] = allObj[key]
   }
}
于 2013-06-11T16:19:47.213 に答える