我在angular
、products
和productsGreen
中有两个数组。产品包含所有的产品和产品绿色只有成功的产品。
当有人uncheck green checkbox
时,我想从products
中删除productsGreen
。我看到了很多答案,他们使用循环并编写多行代码。
这可以在一行代码中实现吗,比如products.remove(productsGreen)
。
这是我的阵列products
{
"color": "green",
"loc": "L1"
},
{
"color": "green",
"loc": "L2"
},
{
"color": "red",
"loc": "L5"
},
{
"color": "red",
"loc": "L6"
},
这是我的阵列productsGreen
{
"color": "green",
"loc": "L1"
},
{
"color": "green",
"loc": "L2"
},
我需要输出
{
"color": "red",
"loc": "L5"
},
{
"color": "red",
"loc": "L6"
},
编辑1:
这是我的代码
OnChangeGreen($event)
{
if(this.CheckboxGreen==true)
{
this.CheckboxGreen=false;
this.chartData.pop(this.mapDatagreen)
this.mapImageSeries.data=this.chartData;
this.chartData.validateData();
}
}
您可以按属性筛选对象数组。基本思路:
var data = [{
"color": "green",
"loc": "L1"
},
{
"color": "green",
"loc": "L2"
},
{
"color": "red",
"loc": "L5"
},
{
"color": "red",
"loc": "L6"
}
];
const selectItems = filters =>
data.filter(item => filters.includes(item.color))
console.log("red", selectItems(["red"]));
console.log("green", selectItems(["green"]));
console.log("red green", selectItems(["red", "green"]));
console.log("blue", selectItems(["blue"]));