如何从CanJS中的can.List中删除元素

时间:2014-08-25 13:00:34

标签: canjs canjs-list

我是CanJS的新手。我想知道如何删除can.List中的元素而不是使用pop()。

var todos1=new can.List([
              {name: "Apple",selected: false},
              {name: "Ball",selected: true},
              {name: "Cat",selected: false}                
            ]);

如何使用selected = true删除列表中的元素?或者有没有办法根据索引删除。文档告诉pop()是唯一的方法,也是拼接。

1 个答案:

答案 0 :(得分:3)

您绝对可以使用所选属性的splicefilter列表,然后使用replace

var todos1=new can.List([
  {name: "Apple",selected: false},
  {name: "Ball",selected: true},
  {name: "Cat",selected: false}                
]);

todos1.replace(todos1.filter(function(todo) {
  return todo.attr('selected') === true;
}));

现在todos1只会包含所选元素。