从一个数组获取值并将其添加到另一个数组的最后一个值

时间:2018-10-29 23:33:12

标签: javascript

我对javascript数组有疑问,我不确定该如何处理。

首先,我希望第二个数组的第一个值与第一个数组中的第一个值相同,然后添加到该值。 我有一个数组,我想在第一个数组中添加两个值,然后将结果推入第二个数组,然后,我想获取第一个数组中的第三个值,并将其添加到第二个数组中的最后一个值,然后然后是第四和第五等等...

下面的示例,因为我很难解释!

var arr = [1, 2, 3, 4, 5];
var newArr = [];

第二个数组的最终结果(这是将第一个数组的连续值添加到第二个数组的最后一个值的结果:

var newArr = [1, 3, 6, 10, 15];

我希望这是有道理的-我发现很难清楚地考虑它!

2 个答案:

答案 0 :(得分:3)

这是reduce的理想选择-您用arr的第一个元素初始化累加器数组,然后在遍历{{ 1}}:

arr

答案 1 :(得分:1)

您可以使用map / reduce或lodash来以更聪明的方式做到这一点,但最简单的选择是简单的for循环:

var arr = [1, 2, 3, 4, 5];
var newArr = [];


for(let i = 0; i < arr.length; i++ ) { // iterate over input array
  let incrementer = arr[i] // get value from input array
  if( newArr[ newArr.length - 1 ] ) { // if the output array has a last value
    incrementer += newArr[ newArr.length - 1 ] // add the last value
  }
  newArr.push(incrementer) // append the new value to end of output array
}


console.log(newArr)