交,差,并集,加减法
来源:互联网 发布:ios ar软件 编辑:程序博客网 时间:2024/04/29 17:08
**
交,差,并集,加减法
**
var crypto = require("crypto");/** * 方法名 :array_remove_repeat * 作 用 :去重 * @param : * @return: * @date :2016年11月3日 */function array_remove_repeat(a) { //去重 var r = []; for(var i = 0; i < a.length; i++) { var flag = true; var temp = a[i]; for(var j = 0; j < r.length; j++) { if(temp === r[j]) { flag = false; break; } } if(flag) { r.push(temp); } } return r;};/** * 方法名 :arrayOperation * 作 用 :交集 * @param : * @return: * @date :2016年11月3日 */exports.arrayOperation = function() { var len = arguments.length; var res = [], commonArr = [], intersection = []; for(var i = 0; i < len; i++) { if(arguments[i].length == 0) { return intersection; } Array.prototype.push.apply(res, uniqueArray(arguments[i])); } for(var i = 0; i < res.length; i++) { var count = 0; for(var j = i; j < res.length; j++) { if(res[i] == res[j]) { count++; } } commonArr.push([res[i], count]); } for(var i = 0; i < commonArr.length; i++) { if(commonArr[i][1] === len) { intersection.push(commonArr[i][0]); } } return intersection;}function uniqueArray(data) { //去除数组里相同的数 data = data || []; var a = {}; for(var i = 0; i < data.length; i++) { var v = data[i]; if(typeof(a[v]) == 'undefined') { a[v] = 1; } }; data.length = 0; for(var i in a) { data[data.length] = i; } return data;}/** * 方法名 :sum * 作 用 :并集 * @param : * @return: * @date :2016年11月3日 */exports.sum = function(a, b) { // 并集 return array_remove_repeat(a.concat(b));};/** * 方法名 :set * 作 用 :差集 * @param : * @return: * @author:zkz * @date :2016年11月3日 */exports.set = function(arr1, arr2) { var arr3 = []; for(var i = 0; i < arr1.length; i++) { var flag = true; for(var j = 0; j < arr2.length; j++) { if(arr2[j] == arr1[i]) { flag = false; } } if(flag) { arr3.push(arr1[i]); } } return arr3; } /** * 方法名 :accAdd * 作 用 :加法运算 * @param : * @return: * @date :2016年11月3日 */exports.accAdd = function(arg1, arg2) { if(arg1 < 0) { var c; c = arg1; arg1 = arg2; arg2 = c; } else {} var r1, r2, m, c; try { r1 = arg1.toString().split(".")[1].length; } catch(e) { r1 = 0; } try { r2 = arg2.toString().split(".")[1].length; } catch(e) { r2 = 0; } c = Math.abs(r1 - r2); m = Math.pow(10, Math.max(r1, r2)); if(c > 0) { var cm = Math.pow(10, c); if(r1 > r2) { arg1 = Number(arg1.toString().replace(".", "")); arg2 = Number(arg2.toString().replace(".", "")) * cm; } else { arg1 = Number(arg1.toString().replace(".", "")) * cm; arg2 = Number(arg2.toString().replace(".", "")); } } else { arg1 = Number(arg1.toString().replace(".", "")); arg2 = Number(arg2.toString().replace(".", "")); } return(arg1 + arg2) / m; } /** * 方法名 :Subtr * 作 用 :减法运算 * @param : * @return: * @date :2016年11月3日 */exports.Subtr = function(arg1, arg2) { //减法运算 var r1, r2, m, n; try { r1 = arg1.toString().split(".")[1].length; } catch(e) { r1 = 0; } try { r2 = arg2.toString().split(".")[1].length; } catch(e) { r2 = 0; } m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度 n = (r1 >= r2) ? r1 : r2; return((arg1 * m - arg2 * m) / m).toFixed(n);};
0 0
- 交,差,并集,加减法
- mysql的合,交,并,差集
- list 并 、交 、差
- 集合的并、交、差
- 集合交、并、差运算
- set的交,并,差,对称差
- php交数组交集、差集、并集
- C++学习笔记 --- STL中交、并、差集函数
- stl中set的并、交、差集
- Python中list的交、并、差集获取方法
- python--两个list 求交\并\差集
- centos6.8 查看两个文件的交、并、差集
- 集合的交、并、差的实现
- 集合的交、并、差的实现
- 集合的交 并 差 补 运算
- 正则语言的 并 交 差
- 集合的交、并、差运算
- 集合的并、交和差运算
- spring注解事务及事务回滚失败的原因
- Java Exception之多个catch
- SEAndroid 浅谈
- PHP 5.6 的Curl POST
- Bootstrap徽章
- 交,差,并集,加减法
- java动态编译,反射加载类
- VS2008 安装时 出现 “加载安装组件时出现问题,取消安装” 的解决方法
- 走进分布式系统
- 【tensorflow】linear regression
- SLAM 学习整理
- 7Liveasia Play Cashback Casino Malaysia(7liveasia, casino malaysia, casino malaysia members, Play Ca
- 鸟哥的linux私房菜学习笔记《十六》磁盘参数修改
- [转]并发编程 Promise, Future 和 Callback