将逗号分隔的对象转换为INT以进行计算
Convert comma seperated object into an INT to do math on
我正在尝试对一些对象执行数学运算,但我很难理解如何完成我需要的任务。假设我有这两个对象:
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];
我试图完成的是将逗号之间的各个数字相减,以获得result
。有什么方法可以做到这一点吗?我尝试使用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]);
}
使用map
的替代方法是使用简单的for loop
:
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]
Fiddle。
您可以使用Array.prototype.map
:
var result = test.map(function(v,k){return v - boom[k];});
下面是jsfiddle 的一个例子
相关文章:
- 根据元素和容器大小计算边距
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 使用D3.js计算带有字母间距的文本长度
- 使用CSS或JavaScript计算分页符的数量
- 按从高到低对多个int变量进行排序
- 可以't计算自定义谷歌地图的js
- 如何计算每个元素's的高度,并将这些值用作函数中的变量
- 如何在Javascript中读取unsigned int
- JavaScript计算帮助(乘以时间)
- 如何计算对象文字中的键
- JavaScript循环无法正确计算/显示结果
- 与域在同一台计算机上运行的NODEJS服务器的CORS错误
- 四舍五入JavaScript计算
- 计算HTML中的页数
- 使用jQuery计算数组中的对象以更改进度条
- 如何在jquery中使用实时计算求和值
- 计算多个项目的价格
- 计算CSS3缩放框在另一个框中的最高位置
- 将逗号分隔的对象转换为INT以进行计算
- Jquery计算返回NaN,而它应该返回int