删除数组的第一项

时间:2019-11-14 15:06:59

标签: javascript arrays ecmascript-6

如何从阵列下面的阵列中删除1和3?

[[1,2], [3,4,5]]

[[2],[4,5]]

正在考虑pop()但卡在某个地方。

5 个答案:

答案 0 :(得分:1)

尝试使用JavaScript内置函数shift()

var a = [[1,2], [3,4,5]];

a.map(item => { 
    item.shift();
    return item;
});

console.log(a); // [[2], [4, 5]]

官方指南:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/shift

答案 1 :(得分:0)

您可以使用mapsplice

const a = [[1,2], [3,4,5]];

console.log(
  a.map(item => item.splice(1))
)

基本上,您正在使用第一个元素(因为splice使数组发生变异)将数组的每个项目映射到具有相同数组的数组。

如果您还希望获得内部数组的副本,则应改用slice

答案 2 :(得分:0)

像往常一样遍历主数组,就像

    let array = [[1,2], [3,4,5]]
    for (let el of array) {
         // Now you'll be accessing each array inside the main array,
         // YOu can now remove the first element using .shift()
         el.shift();
     }

答案 3 :(得分:0)

您可以映射该数组,并使用Array.slice()获取所有项,但第一个项:

const arr = [[1,2], [3,4,5]];

const result = arr.map(item => item.slice(1));

console.log(result);

答案 4 :(得分:0)

尝试一下:

var arr = [[1,2], [3,4,5]];

for (var innerArray of arr) {
  // Using array.splice()
  for (var element of innerArray) {
  	if (element === 1 || element === 3) innerArray.splice(innerArray.indexOf(element), 1);
  }
}

console.log(arr);