如何查找数组中项目之间的距离-JavaScript

时间:2018-08-14 19:58:44

标签: javascript

请帮助我

arr = [1000,2000,5000,4000,300,0,1250]

我想要的结果是

[(1000-2000),(2000-5000),(5000-4000),(4000-300),(300-0),(0-1250)]

谢谢

2 个答案:

答案 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