Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从数组EXTJS中删除多个元素_Javascript_Arrays_Extjs - Fatal编程技术网

Javascript 从数组EXTJS中删除多个元素

Javascript 从数组EXTJS中删除多个元素,javascript,arrays,extjs,Javascript,Arrays,Extjs,我知道从数组中删除元素的传统方法,但我想知道EXTjs中是否有任何pro提示/方法可以删除数组中的选定项 var array = [{id:"week", address : "something"}, {id: "month", address : "something2"}, {id:"year", address : "something23"}, {id:"ext-comp-12", address : "something23"}, {id:"ext-comp-13

我知道从数组中删除元素的传统方法,但我想知道EXTjs中是否有任何pro提示/方法可以删除数组中的选定项

var array = 
 [{id:"week", address : "something"},
  {id: "month", address : "something2"},
  {id:"year", address : "something23"},
  {id:"ext-comp-12", address : "something23"},
  {id:"ext-comp-13", address : "something23"},
  {id:"ext-comp-132", address : "something23"}
 ]
我想从列表中删除元素:上周、上月、日期之前。我不能使用索引来引用remove元素的位置,因为它们是动态创建的。这个
array.filter(e=>e.id==“week”)对我不起作用。

知道其他方法吗?thx

我认为更干净的方法是用过滤后的数组替换原始数组,因为这是函数方法:
array=array.filter(e=>e.id==“week”)

要从原始数组中删除多个项,必须迭代并使用“拼接”、“擦除”、“删除”中的一个。。。来自javascript数组或Ext.Array的ecc

var toRemove = array.filter(e => e.id == "week");
toRemove.forEach(e => Ext.Array.remove(array, e));
另一种方法是使用ExtJs集合而不是javascript数组。
Ext.data.Store
Ext.util.MixedCollection
都有批量删除项目的方法

旧答案

替代阵列拼接的ExtJs是
Ext.array.erase

从数组中删除项。这在功能上等同于数组的拼接方法,但可以解决IE8拼接方法中的错误,并且不会复制删除的元素以返回它们(因为它们经常被忽略)


例如:
Ext.Array.erase(Array,Array.findIndex(f=>f.id==“week”),1)

我仍然可以看到项目的长度,并且显示D w/o删除筛选对象,尽管它返回一个已筛选的对象。如果我在控制台中运行该操作(修复语法错误后),它将返回一个包含1个项目的数组。你还期待什么?是的,但它没有从列表中删除,检查长度,它仍然显示6,但是如果我在数组上弹出,我会看到元素被删除,长度为5
array.splice(array.findIndex(f=>f.id==“week”),1)@Redu:很好,我如何处理多个项目(删除“周”、“月”和“年”)?我不想依赖索引,因为它们可能会有所不同。拼接对我来说也很有效。问题是如何应用(Array.erase或Array.aplice)从数组中删除多个项。上面只删除了一项..对不起,我没有得到问题的焦点,我将编辑