如何使用一行javascript代码从另一个数组中删除数组列表

如何使用一行javascript代码从另一个数组中删除数组列表,javascript,arrays,typescript,Javascript,Arrays,Typescript,我在angular、products和productsGreen中有两个数组。其中product包含所有产品,productsGreen只有成功的产品 当某人取消选中绿色复选框时我想从产品中删除产品绿色。我见过很多答案,他们使用循环和编写多行代码 这可以在一行代码中完成吗,比如products.remove(productsGreen) 这是我的阵列产品 { "color": "green", "loc": "

我在
angular
products
productsGreen
中有两个数组。其中product包含所有产品,productsGreen只有成功的产品

当某人
取消选中绿色复选框时
我想从
产品中删除
产品绿色
。我见过很多答案,他们使用循环和编写多行代码

这可以在一行代码中完成吗,比如
products.remove(productsGreen)

这是我的阵列
产品

{
    "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数据=[{
“颜色”:“绿色”,
“loc”:“L1”
},
{
“颜色”:“绿色”,
“loc”:“L2”
},
{
“颜色”:“红色”,
“loc”:“L5”
},
{
“颜色”:“红色”,
“loc”:“L6”
}
];
const selectItems=filters=>
data.filter(item=>filters.includes(item.color))
log(“红色”,selectItems([“红色]));
log(“绿色”,selectItems([“绿色”]);
log(“红-绿”,selectItems([“红”,“绿]));

log(“蓝色”,selectItems([“蓝色”])为什么它需要一行?@epascarello-我在想,那会更快。什么代码会在一个“慢”的循环中完成它?你需要一个循环……你怎么会这么想?@Clive-一行比多行执行得更快。