请帮帮我
arr = [1000,2000,5000,4000,300,0,1250]
我想要的结果是
[(1000-2000),(2000-5000),(5000-4000),(4000-300),(300-0),(0-1250)]
谢谢
发布于 2018-08-15 04:04:27
您可以对数组进行切片,以映射具有相同索引的增量项。
var array = [1000, 2000, 5000, 4000, 300, 0, 1250],
result = array.slice(1).map((v, i) => array[i] - v);
console.log(result);
发布于 2018-08-15 04:04:04
可以使用Array.prototype.forEach
将连字符和下一个数组项(arr[index+1]
)添加到当前数组项,并将其push
到新数组。
var arr = [1000,2000,5000,4000,300,0,1250];
var newArr = [];
arr.forEach(function(item, index){
if(index+1<arr.length){
newArr.push(item+"-"+arr[index+1]);
}
});
console.log(newArr);
您也可以只使用for
循环来实现此结果。
var arr = [1000,2000,5000,4000,300,0,1250];
var newArr = [];
for(var i = 0; i < arr.length; i++){
if(i+1<arr.length){
newArr.push(arr[i]+"-"+arr[i+1]);
}
}
console.log(newArr);
如果您需要减法的结果,而不是将其作为字符串,则只需使用数组循环或forEach
并从下一个数组元素中减去当前数组元素即可。
var arr = [1000,2000,5000,4000,300,0,1250];
var newArr = [];
arr.forEach(function(item, index){
if(index+1<arr.length){
newArr.push(item-arr[index+1]);
}
});
console.log(newArr);
https://stackoverflow.com/questions/51848931
复制相似问题