我有一个多维数组,例如:
profile = [[2001-05-01, 20], [2001-05-02, 23], [2001-05-03, 18], ...];
我创建了一个新数组并通过可变因子操作数组的第二个元素。
我现在正在做这个并且它有效:
function new_ar(origin, start, end, factor) {
var result = [[]];
result = origin.slice(start, end).map(function(item){ return [item[0], parseInt(item[1])*factor]});
return result;
};
我得到了想要的数组:
array2 = [[2001-05-01, 400], [2001-05-02, 460], [2001-05-02, 360], ...]
问题
如何得到一个新的array3,它由array2的前n个和最后m个元素组成? 我需要调用这样的函数
function new_ar(origin, start1, end1, factor){
...code...
}
例如:我有一个包含 200 个元素的数组,我需要获取一个包含前 100 个和最后 50 个元素的新数组。这意味着,我需要说从 100 到 149 中删除。
最佳答案
只需切片
取出您想要的数组部分,然后 concat
他们!
…origin.slice(0, start1).concat(origin.slice(end1))…
(假设 end1
在您的示例中是 150
;如果是 50
则使用 .slice(-end1)
)
关于javascript - 在多个项目上切片和映射 javascript 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24228982/