基于其他数组从javascript中的数组中删除项
我想从列表中完全删除一项,下面是列表基于其他数组从javascript中的数组中删除项,javascript,jquery,arrays,arraylist,javascript-objects,Javascript,Jquery,Arrays,Arraylist,Javascript Objects,我想从列表中完全删除一项,下面是列表 var list = [{id: 1, match_number: 1, name: "match1"}, {id: 2, match_number: 2, name: "match2"}, {id: 3, match_number: 3, name: "match3"}, {id: 4, match_number: 4, name: "match4"}, {id: 5, match_number: 5, name:
var list = [{id: 1, match_number: 1, name: "match1"},
{id: 2, match_number: 2, name: "match2"},
{id: 3, match_number: 3, name: "match3"},
{id: 4, match_number: 4, name: "match4"},
{id: 5, match_number: 5, name: "match5"}]
我想从列表中完全删除match_number
,并希望实现类似的目标
var list = [{id: 1, name: "match1"},
{id: 2, name: "match2"},
{id: 3, name: "match3"},
{id: 4, name: "match4"},
{id: 5, name: "match5"}]
下面是我获得单个项目结果的代码,但我有一个数组,其中的键是像['match_number','id']
一样给出的。基于此,我想从主列表中删除项目
我怎样才能解决这个问题
//code for single item
var listitem = list.map((i) => {
const {match_number,...item} = i;
return item;
});
使用
列表
数组上的映射
,将现有对象数组修改为不具有匹配编号
键
var列表=[
{id:1,匹配号:1,名称:“match1”},
{id:2,匹配号:2,名称:“match2”},
{id:3,匹配号:3,名称:“match3”},
{id:4,匹配号:4,名称:“match4”},
{id:5,匹配号:5,名称:“match5”}
];
map(obj=>删除obj.match_编号);
控制台日志(列表)
使用列表
数组上的映射
修改现有对象数组,使其不具有匹配编号
键
var列表=[
{id:1,匹配号:1,名称:“match1”},
{id:2,匹配号:2,名称:“match2”},
{id:3,匹配号:3,名称:“match3”},
{id:4,匹配号:4,名称:“match4”},
{id:5,匹配号:5,名称:“match5”}
];
map(obj=>删除obj.match_编号);
控制台日志(列表)
将要删除的属性保留在下面的数组中,如attertoremove
,并与map
和forEach一起使用delete
var列表=[
{id:1,匹配号:1,名称:“match1”},
{id:2,匹配号:2,名称:“match2”},
{id:3,匹配号:3,名称:“match3”},
{id:4,匹配号:4,名称:“match4”},
{id:5,匹配号:5,名称:“match5”}
];
var attertoremove=['match_number','id'];
map(obj=>attertoremove.forEach(val=>deleteobj[val]);
控制台日志(列表)
将要删除的属性保留在下面的数组中,如attertoremove
,并与map
和forEach一起使用delete
var列表=[
{id:1,匹配号:1,名称:“match1”},
{id:2,匹配号:2,名称:“match2”},
{id:3,匹配号:3,名称:“match3”},
{id:4,匹配号:4,名称:“match4”},
{id:5,匹配号:5,名称:“match5”}
];
var attertoremove=['match_number','id'];
map(obj=>attertoremove.forEach(val=>deleteobj[val]);
控制台日志(列表)
您可以使用解构
和rest
循环键并删除它们:
var列表=[
{id:1,匹配号:1,名称:“match1”},
{id:2,匹配号:2,名称:“match2”},
{id:3,匹配号:3,名称:“match3”},
{id:4,匹配号:4,名称:“match4”},
{id:5,匹配号:5,名称:“match5”}
];
var keys=['匹配_编号','id'];
list=list.map(项=>{
变量x,剩余=项目;
keys.forEach(key=>{
({[key]:x,…rest}=rest);
});
返回休息;
});
控制台日志(列表)
您可以使用解构
和rest
循环键并删除它们:
var列表=[
{id:1,匹配号:1,名称:“match1”},
{id:2,匹配号:2,名称:“match2”},
{id:3,匹配号:3,名称:“match3”},
{id:4,匹配号:4,名称:“match4”},
{id:5,匹配号:5,名称:“match5”}
];
var keys=['匹配_编号','id'];
list=list.map(项=>{
变量x,剩余=项目;
keys.forEach(key=>{
({[key]:x,…rest}=rest);
});
返回休息;
});
控制台日志(列表)代码>Jquery+ES6
您还可以使用来使用运算符获得所需的结果
演示
var list=[{id:1,匹配号:1,名称:“match1”},
{id:2,匹配号:2,名称:“match2”},
{id:3,匹配号:3,名称:“match3”},
{id:4,匹配号:4,名称:“match4”},
{id:5,match_编号:5,名称:“match5”}]
让removeKeys=['match_number','id'];
让结果=$.map(列表,(o)=>{
$。每个(删除键,(i,v)=>删除o[v]);
返回o;
},[]);
控制台日志(结果)代码>
。作为控制台包装{最大高度:100%!重要;顶部:0;}
Jquery+ES6
您还可以使用来使用运算符获得所需的结果
演示
var list=[{id:1,匹配号:1,名称:“match1”},
{id:2,匹配号:2,名称:“match2”},
{id:3,匹配号:3,名称:“match3”},
{id:4,匹配号:4,名称:“match4”},
{id:5,match_编号:5,名称:“match5”}]
让removeKeys=['match_number','id'];
让结果=$.map(列表,(o)=>{
$。每个(删除键,(i,v)=>删除o[v]);
返回o;
},[]);
控制台日志(结果)代码>
。作为控制台包装{最大高度:100%!重要;顶部:0;}
但我希望以不变的方式从列表中删除项,并希望基于其他项array@tapandave您的另一个阵列在哪里?在这个问题中,您提到了immutable
way在哪里?我在下面提到了,基于另一个数组,即['match_number','id'],我想从list@tapandave酷,检查编辑后的答案。我在这里添加了另一个片段。如果还有一些问题,请告诉我。但是我想以一种不变的方式从列表中删除项目,并希望以其他方式为基础array@tapandave您的另一个阵列在哪里?在这个问题中,您提到了immutable
way在哪里?我在下面提到了,基于另一个数组,即['match_number','id'],我想从list@tapandave酷,检查编辑后的答案。我在这里添加了另一个片段。如果仍然存在一些问题,请告诉我。因此,您希望将其从原始阵列中删除?不,我不希望将其从原始阵列中删除。您希望将其从原始阵列中删除吗?不,我不希望将其从原始阵列中删除