请帮助我
arr = [1000,2000,5000,4000,300,0,1250]
我想要的结果是
[(1000-2000),(2000-5000),(5000-4000),(4000-300),(300-0),(0-1250)]
谢谢
答案 0 :(得分:2)
您可以对数组进行切片以映射具有相同索引增量的项目。
var array = [1000, 2000, 5000, 4000, 300, 0, 1250],
result = array.slice(1).map((v, i) => array[i] - v);
console.log(result);
答案 1 :(得分:0)
您可以使用export function SortAlphaNum(a: string, b: string) {
const reA = /[^a-zA-Z]/g;
const reN = /[^0-9]/g;
const aA = a.replace(reA, "");
const bA = b.replace(reA, "");
if (aA === bA) {
const aN = parseInt(a.replace(reN, ""), 10);
const bN = parseInt(b.replace(reN, ""), 10);
return aN === bN ? 0 : aN > bN ? 1 : -1;
} else {
return aA > bA ? 1 : -1;
}
将连字符和下一个Array项(Array.prototype.forEach
)添加到当前Array项中,并arr[index+1]
将其添加到新的Array中。
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);
循环或for
并从下一个Array元素中减去当前Array元素。 / p>
forEach