1. var BaiduUsers = [], WechatUsers = [];
  2. var User = function(id, name, phone, gender, age, salary) {
  3. this.id = id;
  4. this.name = name;
  5. this.phone = phone;
  6. this.gender = gender;
  7. this.age = age;
  8. this.salary = salary;
  9. };
  10. User.create = function(id, name, phone, gender, age, salary) {
  11. return new User(id, name, phone, gender, age, salary);
  12. };
  13. BaiduUsers.push(User.create(1, 'tommy', '1111','male', 18, 10000));
  14. BaiduUsers.push(User.create(2, 'jerry', '2222','male', 28, 10000));
  15. BaiduUsers.push(User.create(3, 'raobin','3333','female', 14, 1200));
  16. BaiduUsers.push(User.create(4, 'binbin','4444','male', 23, 9800));
  17. BaiduUsers.push(User.create(5, 'arthur','5555','female', 22, 10000));
  18. WechatUsers.push(User.create(1, 'tommy', '1111','male', 20, 40000));
  19. WechatUsers.push(User.create(2, 'allen', '6666','male', 34, 15800));
  20. WechatUsers.push(User.create(3, 'raobin','3333','female',16, 2300));
  21. WechatUsers.push(User.create(4, 'harvey','7777','male',30, 29800));
  22. WechatUsers.push(User.create(5, 'yuyu', '8888','female',27, 7000));
  23.  
  24. var newusers = [];
  25. var len1=WechatUsers.length;
  26. var len =WechatUsers.length+1;
  27. newusers =myFunction(newusers);
  28. function myFunction(user){
  29. for (var i = 0; i < BaiduUsers.length; i++) {
  30. for (var y = 0; y< WechatUsers.length; y++) {
  31. if (BaiduUsers[i].phone==WechatUsers[y].phone)
  32. {
  33. newusers.push(
  34. User.create(
  35. WechatUsers[y].id,
  36. WechatUsers[y].name,
  37. WechatUsers[y].phone,
  38. WechatUsers[y].gender,
  39. WechatUsers[y].age,
  40. WechatUsers[y].salary+BaiduUsers[i].salary
  41. )
  42. );
  43. } else {
  44. newusers.push(
  45. User.create(
  46. len++,
  47. BaiduUsers[i].name,
  48. BaiduUsers[i].phone,
  49. BaiduUsers[i].gender,
  50. BaiduUsers[i].age,
  51. BaiduUsers[i].salary*1.2
  52. )
  53. );
  54. }
  55. }
  56. }return user
  57. }
  58.  
  59. var hash = {};
  60. newusers = newusers.reduce(function(item, next) {
  61. hash[next.phone] ? '' : hash[next.phone] = true && item.push(next);
  62. return item
  63. }, [])
  64. console.log(newusers);
  65.  
  66. var newusers2= [];
  67. newusers2 =myFunction(newusers2);
  68. function myFunction(user){
  69. for (var i = 0; i < WechatUsers.length; i++) {
  70. for (var y = 0; y< newusers.length; y++) {
  71. if (newusers[i].phone!=WechatUsers[y].phone)
  72. {
  73. newusers2.push(
  74. User.create(
  75. WechatUsers[i].id,
  76. WechatUsers[i].name,
  77. WechatUsers[i].phone,
  78. WechatUsers[i].gender,
  79. WechatUsers[i].age,
  80. WechatUsers[i].salary
  81. )
  82. );
  83. }
  84. }
  85. }return user
  86. }
  87.  
  88. var hash = {};
  89. newusers2 = newusers2.reduce(function(item, next) {
  90. hash[next.phone] ? '' : hash[next.phone] = true && item.push(next);
  91. return item
  92. }, [])
  93. console.log(newusers2);

  

JavaScript 很长很长的JS的更多相关文章

  1. 学习javaScript必知必会(1)~js介绍、函数、匿名函数、自调用函数、不定长参数

    一.简单了解一下JavaScript(js) 1.什么是js? js:是网景公司开发的,是基于客户端浏览器, 面向(基于)对象.事件驱动式的页面脚本语言. 2.什么场景下使用到js? 表单验证.页面特 ...

  2. 分享一个基于长连接+长轮询+原生的JS及AJAX实现的多人在线即时交流聊天室

    实现网页版的在线聊天室的方法有很多,在没有来到HTML5之前,常见的有:定时轮询.长连接+长轮询.基于第三方插件(如FLASH的Socket),而如果是HTML5,则比较简单,可以直接使用WebSoc ...

  3. Javascript模块化编程之路——(require.js)

    转自:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html Javascript模块化编程(一):模块的写法 随着网站逐渐变成&q ...

  4. iPhone 6 被盗记录二【写在315前夕:苹果售后福州直信创邺在没有三包的情况下帮小偷翻新、助力小偷换机销赃!无视王法。让人震惊,痛心,憎恨!消费者很受伤很无奈】

    投诉公司: 北京直信创邺数码科技有限公司  标题: 写在315前夕:苹果售后在没有三包的情况下帮小偷翻新.助力小偷换机销赃!无视王法.让人震惊,痛心,憎恨!消费者很受伤很无奈 期望: 还我手机,或者赔 ...

  5. 迅雷9、迅雷极速版之迅雷P2P加速:流量吸血鬼?为什么你装了迅雷之后电脑会感觉很卡很卡?

    原文地址:http://www.whosmall.com/post/90 关闭极速版迅雷ThunderPlatform.exe进程 ThunderPlatform.exe目的:利用P2P技术进行用户间 ...

  6. javascript - Show mouse cursor in phantom.js - Stack Overflow

    javascript - Show mouse cursor in phantom.js - Stack Overflow Show mouse cursor in phantom.js

  7. Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:孙立伟 链接:http://www.zhihu.com/question/20140085/answer/14107336 ...

  8. seo标题关键字描述字数限制Title,keywords,description长度最长多长 ?

    seo标题关键字描述字数限制 seo优化各个搜索引擎收录Title,keywords,description长度最长多长 ?SEO网站优化中Title标签的作用为重中之重,好的Title也就成功了一半 ...

  9. Office 2013 Excel 打开文档很慢很慢的解决方法

    这个问题查了很多案例,试了很多方法,但是只有下面这个方法有用! 这几天打开excel文档很慢很慢,双击之后好久没反应,过会儿它才慢慢冒出来,当时将就了,刚刚休息的时候想着查一下吧,不然很影响工作效率! ...

  10. bash 统计在线时长最长的十个玩/统计一天内一直处于不活跃状态的玩家的百分比

    1.某游戏的客户端每隔5分钟会向服务端报告一次玩家的账户积分,如果两次报告的时间间隔不大于5分钟,认为该玩家在这5分钟内在线,假设报告数据的格式如下: IP                   Dat ...

随机推荐

  1. SDL2源代码分析6:复制到渲染器(SDL_RenderCopy())

    ===================================================== SDL源代码分析系列文章列表: SDL2源代码分析1:初始化(SDL_Init()) SDL ...

  2. Salt: Master server cannot see any Minion

    Issue: When you set up a Salt Master server and several Minions, you may find that none of minions c ...

  3. Android版本更新时对SQLite数据库升级或者降级遇到的问题

    SQLite是Android内置的一个很小的关系型数据库.SQLiteOpenHelper是一个用来辅助管理数据库创建和版本升级问题的抽象类.我们可以继承这个抽象类,实现它的一些方法来对数据库进行自定 ...

  4. Java-IO之超类OutputStream

    图中我们可以看出,以字节为单位的输出流的公共父类是OutputStream: 从中我们可以看出,以字节为单位的输出流的公共父类是OutputStream: (1)OutputStream是以字节为单位 ...

  5. javascript之DOM编程正则表达式引入

    在javascript中,正则表达式和java中区别不大.只有一小部分不同的地方: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans ...

  6. MiseringThread.java 解析页面线程

    MiseringThread.java 解析页面线程 http://injavawetrust.iteye.com package com.iteye.injavawetrust.miner; imp ...

  7. C++对象模型(一):The Semantics of Constructors The Default Constructor (默认构造函数什么时候会被创建出来)

    本文是 Inside The C++ Object Model, Chapter 2的部分读书笔记. C++ Annotated Reference Manual中明确告诉我们: default co ...

  8. Spring揭秘 读书笔记 七 BeanFactory的启动分析

    首先,先看我自己画的BeanFactory启动时的时序图. 第一次接触时序图,可能有些地方画的不是很符合时序图的规则,大家只关注调用顺序即可. public static void main(Stri ...

  9. 服务端技术进阶(一)web项目的部署(发布)流程

    web项目的部署(发布)流程 在myeclipse下新建web工程abc.系统设置默认如下: 项目保存位置:workspace目录\abc.Source文件夹:src,保存所有的java类文件(.ja ...

  10. Errors running builder 'Integrated External Tool Builder' on project xxx

    出现这样的提示,表明你的项目的Builder项出了问题. 解决方法是: 右键项目选择"Properties",再选择"Builders",删除丢失的builde ...