Вот что я хочу сделать.У меня есть массив объектов, подобных этому ..
[
{productOptionId: 1, value: "Black"},
{productOptionId: 1, value: "Red"},
{productOptionId: 2, value: "UK 43"},
{productOptionId: 2, value: "FIJI 1"},
]
Я хочу сгруппировать элементы этого массива на основе 'productOptionId' и отобразить поля выбора на основе этих групп.А также используйте эти подмассивы для отображения параметров соответствующих полей выбора.
Код машинописного текста:
var i=0;
var result = [];
var object = [];
var objects = [
{productOptionId: 1, value: "Black"},
{productOptionId: 1, value: "Red"},
{productOptionId: 2, value: "UK 43"},
{productOptionId: 2, value: "FIJI 1"},
];
var k = -1;
for (var i = 0; i < objects.length; i++){
if(k!=objects[i].productOptionId){
k = objects[i].productOptionId;
object = []
object.push(objects[i]);
result.push(Array.from(object));
}else{
object.push(objects[i]);
}
}
this.allOptionValues = Array.from(result);
Код HTML:
<p *ngFor="let productOption of allOptionValues" >
<select >
<option *ngFor="let optionValue of productOption.values" >{{optionValue.value}}</option>
</select>
</p>
Ожидаемый результат:
![enter image description here](https://i.stack.imgur.com/HiHPM.png)