私の地域の配列には、選択されたプロパティがtrueである3つのレコード、すなわち14.3,14.2,11.1
があります。レコードの各グループからmax idでプロパティの値を保持する方法は?
selectedプロパティがtrueのパーツのすべての下位バージョンでselectedプロパティをfalseに設定しようとしています。
たとえば、14.3と14.2が選択され、14.3のidが14.2より大きいので、part = 30の場合、14.2の選択プロパティは、選択された14.3と14.2からpart = 30の下位バージョンであるためfalseに設定する必要があります。 。
11.1について言えば、上位バージョンは11.1だけです。なぜなら、11.1が選択されていない11.2が選択されていないため、11.1の選択されたプロパティは真に残りますからです。
予想される出力:私は最大のidのためにtrueに選択したプロパティを維持するためにどのようになっていない午前、各パートのだから、
var regions = [
{
"id": 77,
"selected": false,
"part": 33,
"name": "16.1",
},
{
"id": 76,
"part": 30,
"selected": true,
"name": "14.3",
},
{
"id": 71,
"part": 30,
"selected": false,
"name": "14.2",
},
{
"id": 70,
"part": 31,
"selected": false,
"name": "15.1",
},
{
"id": 54,
"part": 25,
"selected": false,
"name": "11.2",
}
,
{
"id": 53,
"part": 25,
"selected": true,
"name": "11.1",
}
];
。
var regions = [
{
"id": 77,
"selected": false,
"part": 33,
"name": "16.1",
},
{
"id": 76,
"part": 30,
"selected": true,
"name": "14.3",
},
{
"id": 71,
"part": 30,
"selected": true,
"name": "14.2",
},
{
"id": 70,
"part": 31,
"selected": false,
"name": "15.1",
},
{
"id": 54,
"part": 25,
"selected": false,
"name": "11.2",
}
,
{
"id": 53,
"part": 25,
"selected": true,
"name": "11.1",
}
];
var obj = { "id": 70,"part": 31, "selected": true,"name": "15.1" };
for (var i = 0; i < regions.length; i++) {
if ((regions[i].part != obj.part
&& regions[i].selected))
{
regions[i].selected = false; //this set 14.3 and 11.1 selected to false.
}
}
console.log(regions)
あなたのロジックは本当に明確 – Weedoze
@Weedozeではありません:あなたは明らかではないが、どの部分を教えてくださいことはできますか? –