如何删除javascript中嵌套数组对象中的对象

如何删除javascript中嵌套数组对象中的对象,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,我想知道如何使用javascript根据条件删除对象 如果传输成本>200,则仅在obj中使用,否则将其删除 var obj1 = [{ "id": "trans", "option": "bank", "cost": "100" }, { "id": "fund", "option": "credit", "cost": "300" }, { "id": "service", "option": "bank", "cost": "200" }] var o

我想知道如何使用javascript根据条件删除对象

如果
传输成本>200
,则仅在
obj中使用,否则将其删除

var obj1 = [{
  "id": "trans",
  "option": "bank",
  "cost": "100"
}, {
  "id": "fund",
  "option": "credit",
  "cost": "300"
}, {
  "id": "service",
  "option": "bank",
  "cost": "200"
}]

var obj2 = [{
  "id": "trans",
  "option": "bank",
  "cost": "200"
}, {
  "id": "fund",
  "option": "credit",
  "cost": "300"
}, {
  "id": "service",
  "option": "bank",
  "cost": "200"
}]
//not working for obj2 returns []
function getData(obj) {
  return obj.filter(i => i.id !== "trans" && i.cost < 200).map(e => e.id);
}
var result = getData(obj1); //output: ["fund","service"]

var result = getData(obj2); //output: ["trans","fund","service"]
var obj1=[{
“id”:“trans”,
“选项”:“银行”,
“成本”:“100”
}, {
“id”:“基金”,
“选项”:“信用证”,
“成本”:“300”
}, {
“id”:“服务”,
“选项”:“银行”,
“成本”:“200”
}]
变量obj2=[{
“id”:“trans”,
“选项”:“银行”,
“成本”:“200”
}, {
“id”:“基金”,
“选项”:“信用证”,
“成本”:“300”
}, {
“id”:“服务”,
“选项”:“银行”,
“成本”:“200”
}]
//不适用于obj2返回[]
函数getData(obj){
返回对象筛选器(i=>i.id!==“trans”&&i.cost<200).map(e=>e.id);
}
var结果=获取数据(obj1)//产出:[“基金”、“服务”]
var结果=获取数据(obj2)//输出:[“交易”、“资金”、“服务”]

只需在两个条件下尝试过滤器,它对我有效

var obj1=[{
“id”:“trans”,
“选项”:“银行”,
“成本”:“100”
}, {
“id”:“基金”,
“选项”:“信用证”,
“成本”:“300”
}, {
“id”:“服务”,
“选项”:“银行”,
“成本”:“200”
}]
变量obj2=[{
“id”:“trans”,
“选项”:“银行”,
“成本”:“200”
}, {
“id”:“基金”,
“选项”:“信用证”,
“成本”:“300”
}, {
“id”:“服务”,
“选项”:“银行”,
“成本”:“200”
}]
设x1=obj1.filter(o=>o.id==“trans”&&o.cost>=200);
设x2=obj2.filter(o=>o.id==“trans”&&o.cost>=200);
控制台日志(x1);

控制台日志(x2)只需在两个条件下尝试过滤器,它对我有效

var obj1=[{
“id”:“trans”,
“选项”:“银行”,
“成本”:“100”
}, {
“id”:“基金”,
“选项”:“信用证”,
“成本”:“300”
}, {
“id”:“服务”,
“选项”:“银行”,
“成本”:“200”
}]
变量obj2=[{
“id”:“trans”,
“选项”:“银行”,
“成本”:“200”
}, {
“id”:“基金”,
“选项”:“信用证”,
“成本”:“300”
}, {
“id”:“服务”,
“选项”:“银行”,
“成本”:“200”
}]
设x1=obj1.filter(o=>o.id==“trans”&&o.cost>=200);
设x2=obj2.filter(o=>o.id==“trans”&&o.cost>=200);
控制台日志(x1);
控制台日志(x2)
你可以这样做。FilterDarray将仅包含大于200的值

你可以这样做。FilterDarray将只包含>200的值((事务)=>id=='trans'&&transaction.cost>=200)

obj2.过滤器(功能(事务){

}))

obj1.filter((事务)=>id=='trans'&&transaction.cost>=200)

obj2.过滤器(功能(事务){

}))

这对你很有帮助


它将帮助您

使用
过滤器
,如下所示-

var result = obj1.filter(item => item.id === "trans" && item.cost > 200);

使用
过滤器
如下-

var result = obj1.filter(item => item.id === "trans" && item.cost > 200);

'&&
替换为
|
,并且
您在代码上使用的是
;返回对象筛选器(i=>i.id==“trans”&&i.cost>=200);将
'&&
替换为
|
,并且
您在代码上使用的是
;返回对象筛选器(i=>i.id==“trans”&&i.cost>=200);
var obj1 = [{
  "id": "trans",
  "option": "bank",
  "cost": "100"
}, {
  "id": "fund",
  "option": "credit",
  "cost": "300"
}, {
  "id": "service",
  "option": "bank",
  "cost": "200"
}]

var obj2 = [{
  "id": "trans",
  "option": "bank",
  "cost": "200"
}, {
  "id": "fund",
  "option": "credit",
  "cost": "300"
}, {
  "id": "service",
  "option": "bank",
  "cost": "200"
}]


var obj1_filter = obj1.filter(function(options_list){
    return options_list.id="trans" && options_list.cost>=200;
});

var obj2_filter = obj2.filter(function(options_list){
    return options_list.id='trans' && options_list.cost>=200
});

console.log(obj1_filter);
console.log(obj2_filter);
var result = obj1.filter(item => item.id === "trans" && item.cost > 200);