js 数组去重求和 (转载)
方法一:js数组id去重,value值相加问题
来源:https://www.jianshu.com/p/8f79e31b46ed
    // js
    let arr = [
      {
        id: 1,
        value: 5
      },
      {
        id: 2,
        value: 3
      },
      {
        id: 3,
        value: 4
      },
      {
        id: 1,
        value: 3
      },
      {
        id: 2,
        value: 3
      }
    ];
    let newArr = [];
    arr.forEach(el=> {
      const res = newArr.findIndex(ol=> {
        return el.id === ol.id;
      });
      if (res!== -1) {
        newArr[res].value = newArr[res].value +  el.value;
      } else {
        newArr.push(el);
      }
    });
  方法二:js数组去重
来源:https://www.cnblogs.com/jlyuan/p/11530877.html
1.基本数据类型数据去重
var list = [1, 2, 1, 3, 2, 2,4]
var res = list.filter((e,i)=>list.indexOf(e)==i)
console.log(res)
2.引用数据类型去重(实际开发中比较常见)

var list = [{id:110,name:"java"},{id:111,name:"javascript"},{id:110,name:"java"}]
var res = []
// 实现思路:遍历list数组,如果不存在res数组中,就添加到res
list.forEach(item=>{
  let flag = res.some(e=>{
    if(item.id === e.id){
      return true;
    }
  })
  if(!flag){
    res.push(item)
  }
})
console.log(res)

js 数组去重求和 (转载)的更多相关文章
- js数组去重常用方法
		js数组去重是面试中经常会碰到的问题,无论是前端还是node.js数组常见的有两种形式,一种是数组各元素均为基本数据类型,常见的为数组字符串格式,形如['a','b','c'];一种是数组各元素不定, ... 
- js数组去重的4种方法
		js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ... 
- JS 数组去重(数组元素是对象的情况)
		js数组去重有经典的 几种方法 但当数组元素是对象时,就不能简单地比较了,需要以某种方式遍历各值再判断是否已出现. 因为: 1.如果是哈希判断法,对象作哈希表的下标,就会自动转换成字符型类型,从而导致 ... 
- js 数组去重小技巧
		js 数组去重小技巧 Intro 今天遇到一个问题,需要对数据进行去重,想看一下有没有什么比较方便的方法,果然有些收获. Question 问题描述: 我有一个这样的数据: [ { "Pro ... 
- JS数组去重的几种常见方法
		JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ... 
- js数组去重五种方法
		今天来聊一聊JS数组去重的一些方法,包括一些网上看到的和自己总结的,总共5种方法(ES5). 第一种:遍历数组法 这种方法最简单最直观,也最容易理解,代码如下: var arr = [2, 8, 5, ... 
- js数组去重的方法(转)
		JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ ... 
- js 数组去重方法汇总
		<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ... 
- js数组去重 javascript版
		//js数组去重 //思路: // 1.放入第一个元素 // 2.放入第n个元素,和第n个之前的元素就行比较,如果有重复,则跳过.没有重复就加入数组中 // 3.返回新的去重后数组 Array.pro ... 
随机推荐
- 面试突击(七)——JVM如何加载Java字节码信息的?
			声明:本文图片均来自网络,我只是进行了选择,利用一图胜千言的力量来帮助自己快速的回忆相关的知识点 1:先看一下Java类文件的转换过程,如下所示,Java字节码文件是通过类加载子系统来放入JVM的内存 ... 
- LeetCode 112. Path Sum(路径和是否可为sum)
			Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ... 
- 原生微信小程序脚手架(支持npm)
			微信小程序支持npm 为了支持生态扩展,社区贡献者可以提供更加丰富的功能,已经支持了第三方小程序开发功能,见如下地址. 微信小程序支持npm https://developers.weixin.qq. ... 
- window 安装使用npm
			[安装步骤] 一.安装node.js 1.前往node.js官网下载并安装工具,这里安装路径选到D盘,D:\nodejs 安装完毕后在命令行输入以下命令测试是否安装成功,正确会出现版本号 npm -v ... 
- java学习摘抄笔记mybaits2
			mybatis第二天 高级映射 查询缓存 和spring整合 课程复习: mybatis是什么? mybatis是一人持久层框架,mybatis是一个不完全的ORM框架.sql语句需要程序员自己去编 ... 
- docker swarm集群搭建及使用Portainer、shipyard
			一.规划 1.swarm01作为manager节点,swarm02和swarm03作为worker节点. # cat /etc/hosts 127.0.0.1 localhost 192.168. ... 
- hbase 操作
			视频随笔视频地址:hbase教程 1.与传统关系型数据库的区别 hbase 传统分布式 单机列动态增减 建表时候指定只有字符串一种数据类型 数值,字符空值不被存储 存储不支持SQL 查 ... 
- Kubernetes 及安装注意事项
			Docker Desktop for Mac/Windows开启Kubernetes 及安装注意事项 Table of Contents 1 解决方案 2 注意事项 2.1 Choose Kubeco ... 
- 使excel中的表头一直显示
			视图 -- 冻结单元格 https://jingyan.baidu.com/article/fedf073788db6b35ac89779a.html 
- fineui 实现下拉框模糊查询
			官网下拉框模糊查询只能实现首字母模糊匹配,如果实现类似这样的 like '%'+关键字+'%',却没有. 今天群里的没想好同学分享了,前后模糊匹配代码. 代码示例: <body> ... 
