从选中的项目数组中删除特定 ID
remove specific id from array of checked items
我有一个运动列表/数组,默认情况下,它们都带有checked = true
,在下面的函数中,您可以看到这一行intersectedSports = _.intersection(sportIds, sportChecked.sport);
其中sportIds
是体育ID的完整列表,sportChecked.sport
是带有checked = false
的运动,这是用户取消选中的运动。
请记住:默认情况下,所有运动都是checked = true
的。
这是一个包含 30 个项目的数组,每个项目都有一个独特的id
,正如我提到的,所有的运动都是checked = true
的,但我需要默认id: 10
checked = false
。
在你看到的所有这些代码背后,已经有一个结构可以将用户checked = false
的项目保存在数据库中,这就是为什么你在这里看到这一行sport.checked = !_.includes(intersectedSports, sport.id);
。
所以,为了做我想做的事,我的猜测:我需要把id: 10
和checked=false
放在我上面提到的var = intersectedSports
中,除非你对我有更好的建议......那么,你推荐我的朋友什么?
var sportIds = _.pluck(sports, 'id'),
intersectedSports = _.intersection(sportIds, sportChecked.sport);
if (sports.length) {
sports = _.map(sports, function(sport) {
sport.checked = !_.includes(intersectedSports, sport.id);
return sport;
});
}
以防万一:我正在使用 Lodash 和 Angular
您可以将逻辑简化为如下所示:
// build a list of the sports that should be unchecked
var unchecked = sportChecked.sport.concat(10);
// add a checked property to each sport
_.each(sports, function(sport){
sport.checked = !_.contains(unchecked, sport.id);
});
相关文章:
- Mongoose-在更新中删除数组元素
- 在特定索引处剥离/删除数组中的值
- Framework7:使用swipeout删除数组中的项
- Javascript删除数组中某个位置之后的项
- 通过选中和取消选中复选框来添加和删除数组中的值
- 编写删除数组并添加到列表的函数
- Javascript - 删除数组中的重复值
- 在 Kineticjs 中删除数组中的组
- 如何根据数组内容添加/删除数组中的元素
- 用于删除数组中的零的Javascript函数代码
- Javascript-仅使用pop()方法删除数组中的负值
- 删除数组元素并将它们添加回原来的位置
- 如果一个键匹配,如何删除数组元素
- 无法使用拼接删除数组中的元素
- 如何从ko.computed中删除数组项
- 删除数组中的重复项,为什么此代码不起作用
- 使用另一个数组按索引删除数组中的对象
- 在 jquery 中,如何通过索引[“键”] 或值删除数组元素
- 使用 Lodash 删除数组中的元素
- 按索引删除数组元素