选择数组中的多个项目

时间:2016-09-27 23:04:50

标签: javascript

我有一个数组,

var arr=[1,2,3,4,5,6,7,8,9,10];

我不知道阵列有多长,我想在3之后选择所有内容。我该怎么做?

3 个答案:

答案 0 :(得分:1)

使用.indexOf查找索引3,然后使用.slice查找该元素后的所有内容:

// find the index of the element 3
var indexOfThree = arr.indexOf(3);

// find everything after that index
var afterThree = arr.slice(indexOfThree + 1);

答案 1 :(得分:-1)

你拼接功能:

var a = [1,2,3,4,5,6,7,8,9,10];
var b = a.splice( 3, a.length );
alert (b); // [4, 5, 6, 7, 8, 9, 10]
alert (a); // [1, 2, 3]

答案 2 :(得分:-1)

在您的示例中,“3”位于索引2的插槽中。如果你想要第三个元素(索引2)之后的所有内容,那么第一个函数就会这样做。

如果您想要找到前3个后的所有内容,那么第二个函数就会这样做。

// This finds all content after index 2
Array.prototype.getEverythingAfterIndexTwo = function() {
  if (this.length < 4) { 
    return [];
  } else {
    return this.slice(3);
  }
}

// This finds the first 3 in the array and returns any content in later indices
Array.prototype.getEverythingAfterAThree = function() {

  // returns array if empty
  if (!this.length) return this;  

  // get the index of the first 3 in the array
  var threeIndex = this.indexOf(3);

  // if no 3 is found or 3 is the last element, returns empty array
  // otherwise it returns a new array with the desired content
  if (!~threeIndex || threeIndex === this.length-1) {         
      return [];
  } else {
      return this.slice(threeIndex + 1);
  }
}

var arr=[1,2,3,4,5,6,7,8,9,10];

console.log(arr.getEverythingAfterIndexTwo());

console.log(arr.getEverythingAfterAThree());