从数组中删除/弹出元素

时间:2016-10-06 13:18:12

标签: javascript angularjs arrays

我知道这对其他人来说可能很简单,但我想不出任何解决方案。

我有一个名为breadcrumb的数组,其中包含以下元素 面包屑= [a,b,c,d]

我也知道b的索引。如何在JavaScript中的b索引之后弹出数组中的所有其他元素。最终的数组看起来应该是这样的

breadcrumb = [a,b]

4 个答案:

答案 0 :(得分:2)

slice原型中有Array方法:

var breadcrumb = ['a', 'b', 'c', 'd'];
// in case you have to find the index of the element
var index = breadcrumb.indexOf('b');
breadcrumb = breadcrumb.slice(0, index + 1) // now breadcrumb = ['a', 'b'];

答案 1 :(得分:1)

我很确定this SO question中接受的答案正是您所寻找的:

var array = ['one', 'two', 'three', 'four'];
array.length = 2;
alert(array);

答案 2 :(得分:0)

您应该使用array.splice从下一个元素中删除

语法:array.splice(index, deleteCount)



var data= ['a', 'b', 'c', 'd'];
data.splice(1+1);
console.log(data)




答案 3 :(得分:0)

有各种方法可以实现这一目标。

正如你所说,你知道你需要弹出所有元素的位置索引 1.

var position=2
var breadcrumb = [a, b, c, d];
var length=breadcrumb.length;
var loop;
for(loop=position;loop<length;loop++)
breadcrumb.pop();

2。您可以使用切片来执行此操作。

    var position=2;
    var breadcrumb = ["a", 'b', 'c', 'd'];
    var length=breadcrumb.length;
    var result_arr=breadcrumb.slice(0,position);

3.您也可以使用拼接来完成此操作

    var position=2;
    var breadcrumb = ["a", 'b', 'c', 'd'];
    var length=breadcrumb.length;
    var result_arr=breadcrumb.splice(0,position);