我有这个数组:
arr = ["003448", "003609", "003729", "003800", "004178", "004362", "004410"];
我想转换它变成这样:
new_arr = [161, 120, 71, 378, 184, 48];
161结果来自003609 - 003448
120结果来自003729 - 003609
依旧......
规则是“下一个值将减少之前的值”。我对此毫无头绪。有人请帮助我......我将非常感激。
答案 0 :(得分:1)
您的问题似乎在尖叫Array.reduce:
var arr = ["003448", "003609", "003729", "003800", "004178", "004362", "004410"];
var new_array = arr.reduce(function(a, currentValue, currentIndex, array) {
var previousValue = array[currentIndex - 1];
if (previousValue !== undefined)
a.push(parseInt(currentValue, 10) - parseInt(previousValue, 10));
return a;
}, []);
console.log(new_array);
答案 1 :(得分:0)
尝试以下解决方案:
var arr = ["003448", "003609", "003729", "003800", "004178", "004362", "004410"];
var new_arr = [];
for (var i=1; i<arr.length; i++){
new_arr.push(arr[i]-arr[i-1]);
}
console.log(new_arr);
&#13;
答案 2 :(得分:0)
433782.382;