首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在数组上找到项之间的距离- javascript

如何在数组上找到项之间的距离- javascript
EN

Stack Overflow用户
提问于 2018-08-15 03:58:44
回答 2查看 673关注 0票数 -6

请帮帮我

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

我想要的结果是

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

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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);

票数 3
EN

Stack Overflow用户

发布于 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);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51848931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档