Javascript 如何从数组中排除特定id?
我有一个带有运动名称的数组,可以选择选中和取消选中它们 选中的Javascript 如何从数组中排除特定id?,javascript,arrays,underscore.js,lodash,Javascript,Arrays,Underscore.js,Lodash,我有一个带有运动名称的数组,可以选择选中和取消选中它们 选中的项=false将保存在数据库中。默认情况下,所有项目都在checked=true中,但我想排除数组中的一个项目,并将其改为checked=false 首先,数组如下所示 [ { "id": 26, "name": "LIVE Betting", "priority": 0 }, { "id": 8, "name": "NBA", "priority": 1 }, {
项=false
将保存在数据库中。默认情况下,所有项目都在checked=true
中,但我想排除数组中的一个项目,并将其改为checked=false
首先,数组如下所示
[
{
"id": 26,
"name": "LIVE Betting",
"priority": 0
},
{
"id": 8,
"name": "NBA",
"priority": 1
},
{
"id": 24,
"name": "College Basketball",
"priority": 2
},
{
"id": 42,
"name": "Women College Basketball",
"priority": 3
},
{
"id": 9,
"name": "NHL",
"priority": 4
},
{
"id": 6,
"name": "MLB",
"priority": 5
}
]
这就是在这里工作的函数
_this.getSportChecked(customer).then(function(sportChecked) {
var sportIds = _.pluck(sports, 'id'),
intersectedSports = _.intersection(sportIds, sportChecked.sport);
if (sports.length) {
//HERE I NEED TO EXCLUDE THE ID 9
sports = _.map(sports, function(sport) {
sport.checked = !_.includes(intersectedSports, sport.id);
return sport;
});
}
});
它返回这个对象
{
"id": 26,
"name": "LIVE Betting",
"priority": 0,
"checked": true
}
{
"id": 8,
"name": "NBA",
"priority": 1,
"checked": true
}
{
"id": 24,
"name": "College Basketball",
"priority": 2,
"checked": true
}
{
"id": 42,
"name": "Women College Basketball",
"priority": 3,
"checked": true
}
{
"id": 9,
"name": "NHL",
"priority": 4,
"checked": true
}
{
"id": 6,
"name": "MLB",
"priority": 5,
"checked": true
}
因此,正如您所看到的,默认情况下,所有这些项目都是checked=true
,但我想将id=9
设置为checked=false
,直到用户根据需要将其切换为true
你的建议是什么?请阅读我代码中的注释,有一部分我需要将其排除。好吧,您只需按id查找运动并手动取消选中即可
if (sports.length) {
//HERE I NEED TO EXCLUDE THE ID 9
sports = _.map(sports, function(sport) {
sport.checked = !_.includes(intersectedSports, sport.id);
// Special case for id 9
if (sport.id === 9) {
sport.checked = false;
}
return sport;
}
。.findWhere(sports,{id:9}).checked=false
?@Malk我怎样才能在我的代码中包含它?我已经试过了,但是不起作用。你正在创建一个带有复选框的运动列表。您希望列表显示NHL(id:9)已选中,但不将其包含为未选中?这不是很出人意料的行为吗?也许你应该先不选中它?@Malk一旦你登录,列表中的所有元素默认都被选中=true,这是正确的,但是我想在默认情况下将(id:9)设置为未选中。HTML是如何生成的?