Javascript 将逗号分隔的对象转换为整数进行计算

Javascript 将逗号分隔的对象转换为整数进行计算,javascript,jquery,Javascript,Jquery,我试图在一些对象上进行数学运算,但我在理解如何完成我需要的东西时遇到了困难。假设我有两个对象: var test = [1,2,3,4,5,6,7,8]; var boom = [2,3,1,4,5,2,5,6]; result = [-1,-1,2,0,0,4,2,2]; 我试图完成的是将逗号之间的各个数字相减,以获得结果。有没有一种方法可以做到这一点?我尝试使用split(',')删除逗号,但它说split()在对象上不可用。最简单的方法是在一个数组上循环,然后减去另一个数组中的值: va

我试图在一些对象上进行数学运算,但我在理解如何完成我需要的东西时遇到了困难。假设我有两个对象:

var test = [1,2,3,4,5,6,7,8];
var boom = [2,3,1,4,5,2,5,6];
result = [-1,-1,2,0,0,4,2,2];

我试图完成的是将逗号之间的各个数字相减,以获得
结果
。有没有一种方法可以做到这一点?我尝试使用
split(',')
删除逗号,但它说
split()
在对象上不可用。

最简单的方法是在一个数组上循环,然后减去另一个数组中的值:

var test = [1,2,3,4,5,6,7,8];
var boom = [2,3,1,4,5,2,5,6];

var result = test.map(function(item, index){ return item - boom[index]; });

console.log(result); // [-1, -1, 2, 0, 0, 4, 2, 2] 
如果您不喜欢函数式编程,您可以使用以下常规方法:

var result = [];
for (var i=0; i<test.length; i++) {
  result.push(test[i]-boom[i]);
}
var结果=[];
对于(var i=0;i您可以使用:


下面是一个关于的示例使用
map
的替代方法是使用一个简单的
for循环

function subtract(arr1, arr2){
  var out = [];
  if (arr1.length !== arr2.length) return false;
  for (var i = 0, l = arr1.length; i < l; i++) {
    out[i] = arr1[i] - arr2[i];
  }
  return out;
}

var subtracted = subtract(test, boom); // [-1, -1, 2, 0, 0, 4, 2, 2]
函数减法(arr1,arr2){
var out=[];
if(arr1.length!==arr2.length)返回false;
对于(变量i=0,l=arr1.length;i

.

为什么不使用for循环,并通过数字进行循环?以6整秒为单位:))。
function subtract(arr1, arr2){
  var out = [];
  if (arr1.length !== arr2.length) return false;
  for (var i = 0, l = arr1.length; i < l; i++) {
    out[i] = arr1[i] - arr2[i];
  }
  return out;
}

var subtracted = subtract(test, boom); // [-1, -1, 2, 0, 0, 4, 2, 2]