そのため、オブジェクトの配列があり、その多くは重複するキー プロパティを持っています。これは、いくつかの非特定フィールドが変更される可能性がある動的に作成されたレプリケーションであるためです。
var myArray = [
{Name: Object1, Version:1, TimeCreated: 1:00, Quantity: 3},
{Name: Object1, Version:2, TimeCreated: 13:00, Quantity: 8},
{Name: Object1, Version:3, TimeCreated: 14:00, Quantity: 13},
{Name: Object2, Version:1, TimeCreated: 1:00, Quantity: 5},
{Name: Object2, Version:2, TimeCreated: 4:00, Quantity: 3},
{Name: Object3, Version:1, TimeCreated: 1:00, Quantity: 2};
]
myArray は、各プロパティのテーブル データを使用して、ページ上にテーブル行を作成するために使用されます。
各オブジェクトの最後のバージョンを除くすべてを含む、テーブル行の配列もあります。したがって、バージョン 1 と 2、およびバージョン 1によって作成されたtableRows[]
が含まれます。<tr>
Object1
Object2
両方のプロパティに基づいて 2 つの配列を比較できるように、名前とバージョンの両方に基づいて、この配列から特定のオブジェクトを循環して選択する必要があります。バージョン 1 と 2、および Object1 と Object2 はそれ自体固有のものではないため、ここでは両方がキーとなります。これが私が試した方法です
for (x in myArray){
var newArray;
for (r in myArray){
newArray = $.grep(tableRows, function(e) {
return (e.Name == 'Object' + r &&
e.Version == x);
})
//code to assess relation to the other objects in myArray with newArray
}
}
今、私は自分の理解を打ち砕いているだけで$.grep
、その意図や使用法を超えているのではないかと思っています. そのような2つの条件を評価することさえできますか?