如何使用LODASH / UNDERSCORE从数组中删除元素

时间:2015-03-10 19:57:33

标签: javascript arrays underscore.js lodash

我有一个项目列表,可以选中是否要在另一个视图中查看/取消选中它们。

现在我有一个post请求,我将保存用户取消选中的所有元素。这是我到目前为止保存的内容,在控制台中打印出来就像这样

[ { sport: [ 9, 19, 58, 18, 24, 4, 8 ] } ]

现在的问题是:如果我再次检查了这些元素中的任何一个,我检查过的那个元素必须从该列表中消失,但无论是检查还是取消选中,它仍然会保留在数据库中。

这是我需要执行上述

的部分
      if (_.includes(sportChecked.sport, params.sport)) {
        sportChecked.sport = _.difference(newSport, params.sport);
        console.log(sportChecked.sport);
      }else {
        newSport.push(params.sport);
        sportChecked.sport = newSport;
      }

如您所见,我正在使用_.difference告诉用户他正在尝试取消选中的这项运动已经在列表中。

这个console.log(sportChecked.sport);是向我显示我在终端中打印的数组的那个。那么我该怎样做才能使用lodash从列表中删除选中的项目?

更新

从另一点看这个,可能是:如果你检查了DOM中的元素,数组上的非元素必须在那里,如果元素已经在列表中,那我就有_difference,所以,一次用户检查了DOM中的项目,假设id为9的元素是该数组的第一个元素,那么该元素就不再存在了。

0 个答案:

没有答案