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

rjb*_*ogz 1 javascript arrays multidimensional-array

我在 js 中有一个数组:

myArray = [['1','2','3'],['4','5','6'],['7','8','9']];
Run Code Online (Sandbox Code Playgroud)

我怎样才能产生这样的数组:

myAlteredArray = [['2','3'],['5','6'],['8','9']];
Run Code Online (Sandbox Code Playgroud)

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

Jos*_*lik 6

快速解决方案

最简单的方法是使用mapslice

var subsections = myArray.map(function (subarray) {
    return subarray.slice(1)
})
Run Code Online (Sandbox Code Playgroud)

您还可以通过执行以下操作以任何您想要的方式操作小节:

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
})
Run Code Online (Sandbox Code Playgroud)

数组.prototype.map

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

[1, 2, 3].map(function (number) { return 10 - number })
Run Code Online (Sandbox Code Playgroud)

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

数组.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']
Run Code Online (Sandbox Code Playgroud)

有趣的事实:也.slice()适用于字符串