我在js中有一个数组:
myArray = [['1','2','3'],['4','5','6'],['7','8','9']];
如何生成这样的数组:
myAlteredArray = [['2','3'],['5','6'],['8','9']];
我基本上想要从数组中排除第一个列。
答案 0 :(得分:3)
最简单的方法是使用map
和slice
。
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
})
myArray.map(callback)
对callback
中的每个元素执行myArray
并返回由所有返回值组成的新数组。例如:
[1, 2, 3].map(function (number) { return 10 - number })
将返回[9, 8, 7]
并保持原始数组不变。
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));