我有一个数组:
array = ['mario','luigi','kong']
我调用它的拼接函数来删除索引之前的所有项:
array.splice(1) //-> ['luigi','kong']
我只是好奇有没有类似于splice的功能来移除一个索引后的所有项目:
伪码
array.mirrorsplice(1) //-> ['mario','luigi']
要删除索引后的所有项目:
var array = ['mario','luigi','kong'],
index = 1; // your index here
array = array.splice(index + 1, array.length - (index + 1) );
// 3 - (1+1) = 1
// 1 is the remaining number of element(s) in array
// hence, splice 1 after index
结果:
['mario', 'luigi']
您需要1,因为拼接从索引处开始移除。
虽然为数组长度指定一个较短的值(正如@dandavis所说)是从数组中删除尾部元素的最快和最简单的方法,但您也可以使用类似于splice的方法(称为slice)来完成。如下所示:
array = ['mario', 'luigi', 'kong'];
array = array.slice(0, 2); //Need to assign it to the same or another variable
console.log(array); //["mario", "luigi"]
使用< code>Array.length为数组设置新的大小,这比< code>Array.splice进行变异要快:
var array = ['mario','luigi','kong', 1, 3, 6, 8];
array.length=2;
alert(array); // shows "mario,luigi";
为什么更快?因为. splice
必须创建一个包含所有已删除项目的新数组,而. long
什么也不创建并“返回”一个数字而不是一个新数组。
要解决. splice
的使用问题,您可以给它一个负索引,以及一个巨大的数字来砍掉数组的末尾:
var array = ['mario','luigi','kong'];
array.splice(-1, 9e9);
alert(array); // shows "mario,luigi";
问题内容: 有没有一种简单的方法来索引列表(或数组,或其他)中 除 特定索引 之外的 所有元素?例如, 将把该物品退回位置3 将返回整个列表,除了3 问题答案: 对于 列表 ,您可以使用列表组合。例如,要制作不含第3个元素的副本: 这是非常通用的方法,可以与所有可迭代对象(包括numpy数组)一起使用。如果要更换有,将是一个迭代器,而非列表。 或者,您可以通过以下方式就地完成此操作: 在 nump
在List/ArrayList中有没有什么方便的方法可以移除列表中特定索引之后的所有元素?而不是手动循环通过它来移除。 为了更解释,如果我有一个包含10个元素的列表,我想提到索引3,然后索引3之后的所有元素都被删除,我的列表现在只包含4个元素(从0开始计数)
问题内容: 我知道可以通过deleteByQuery从某种类型删除所有文档。 例: 但是我没有术语,只是想删除该类型的所有文档,无论使用什么术语。什么是实现这一目标的最佳实践?空项不起作用。 链接到deleteByQuery 问题答案: 我相信,如果您将通过查询进行的删除与匹配相结合,则它应该做您想要的所有事情(例如,使用示例): 或者您可以删除类型:
问题内容: List / ArrayList中是否有任何方便的方法,我们可以通过该方法删除特定索引之后的List的所有元素。而不是手动循环进行删除。 为了进一步说明,如果我有一个包含10个元素的列表,我想提及索引3,然后删除索引3之后的所有元素,并且列表现在只包含开始的4个元素(从0开始计数) 问题答案: 子列表操作反映在原始列表中,因此清除了从索引4包含在内的所有内容,也清除了索引3之后的所有内
文档建议使用以下函数删除特定索引: 我已经适应了: 但这给了我以下错误: 我找了几个小时都没有结果,有人有什么想法吗?
curl-xdelete“http://localhost:9200/index-consumo_react_mysql/_doc/_query”-d'{“query”:{“match_all”:{}}}‘ 错误: {“错误”:“不支持Content-Type header[application/x-www-form-urlencoded]”,“status”:406}