只有来自2d javascript数组的特定“列”

时间:2016-03-14 02:19:05

标签: javascript arrays multidimensional-array

我在js中有一个数组:

myArray = [['1','2','3'],['4','5','6'],['7','8','9']];

如何生成这样的数组:

myAlteredArray = [['2','3'],['5','6'],['8','9']];

我基本上想要从数组中排除第一个

4 个答案:

答案 0 :(得分:3)

快速解决方案

最简单的方法是使用mapslice

var subsections = myArray.map(function (subarray) {
    return subarray.slice(1)
})

您还可以通过执行以下操作以任何方式操作子部分:

var subsections = myArray.map(function (subarray) {
    var subsection = subarray.slice(1)
    subsection[1] = parseInt(subsection[1], 10) // parse index 1 in base 10
    return subsection
})

Array.prototype.map

myArray.map(callback)callback中的每个元素执行myArray并返回由所有返回值组成的新数组。例如:

[1, 2, 3].map(function (number) { return 10 - number })

将返回[9, 8, 7]并保持原始数组不变。

Array.prototype.slice

myArray.slice(start, [end])将在新数组中返回myArray的子部分。如果您只传递start,则假定end是数组的结尾。例如:

['dogs', 'cats', 'fish', 'lizards'].slice(2) == ['fish', 'lizards']
['dogs', 'cats', 'fish', 'lizards'].slice(1, 3) == ['cats', 'fish']

有趣的事实:.slice()也适用于strings

答案 1 :(得分:2)

你可以这样做,但请注意,这将改变原始数组:

echo $dom->saveHTML();

答案 2 :(得分:0)

您应该遍历数组并使用每个子阵列中的slice函数来提取第一个元素。

  var myArray = [['1','2','3'],['4','5','6'],['7','8','9']];

  for (var i = arr.length - 1; i >= 0; i--) {
    arr[i] = arr.slice(1);
  }

答案 3 :(得分:0)

var myArray = [['1','2','3'],['4','5','6'],['7','8','9']];

var filteredArray = myArray.map(function(currArray,v){
  return currArray.slice(1);
})

alert(JSON.stringify(filteredArray));