JavaScript中好用的对象数组去重
对象数组去重
Demo数据如下:
var items=
[{
"specItems": [{
"id": "966480614728069122",
"name": "精品装",
"pid": "966480614694514690",
"isSelected": true
}, {
"id": "958251983375663105",
"name": "黑色",
"pid": "958168337859981313",
"isSelected": true
}],
"barcode": "44"
}, {
"specItems": [{
"id": "966480614728069122",
"name": "精品装",
"pid": "966480614694514690",
"isSelected": true
}, {
"id": "958251983375663105",
"name": "黑色",
"pid": "958168337859981313",
"isSelected": true
}]
}, {
"specItems": [{
"id": "966480614728069122",
"name": "精品装",
"pid": "966480614694514690",
"isSelected": true
}, {
"id": "958251983363080193",
"name": "白色",
"pid": "958168337859981313",
"isSelected": true
}]
}, {
"specItems": [{
"id": "966480614728069122",
"name": "精品装",
"pid": "966480614694514690",
"isSelected": true
}, {
"id": "958251983363080193",
"name": "白色",
"pid": "958168337859981313",
"isSelected": true
}]
}]
去重方法(适用于js es6版本及以上):
var hash={};
items=items.reduce(function(item,next){
hash[next.getName()]?'':hash[next.getName()]=true&&item.push(next);
return item},[])
JavaScript中好用的对象数组去重的更多相关文章
- Javascript从“繁”到“简”进行数组去重
随着JavaScript提供语法的增多,数组去重方式也越来越多.现在从最原始的方式到最简洁的方式,一步步进行剖析. 双重循环 数组去重,不就是比较数组元素,去掉重复出现的么.最原始的方式不正是双重循环 ...
- javascript中遇到的字符串对象处理
在javascript中对参数处理: 1 <script> 2 function getParam() 3 { 4 urlInfo=window.location.href; //获取当前 ...
- javascript中的内置对象
2015.12.1 javascript中的内置对象 复习: 1.js中的内置函数 alert prompt write parseInt parseFloat eval isNaN document ...
- ES6 set和map数据结构对对象数组去重简单实现
自从有了es6的set数据结构,数组的去重可以简单用一行代码实现,比如下面的方式 let arr = [1, 2, 2, 3, 4] function unique (arr) { return [. ...
- (转载)JavaScript中的Window窗口对象
(转载)http://www.ijavascript.cn/jiaocheng/javascript-window-65.html 例子: <html> <head> < ...
- javaScript中Math内置对象基本方法入门
概念 Math 是javaScript的内置对象,包含了部分数学常数属性和数学函数方法. Math 不是一个函数对象,用户Number类型进行使用,不支持BigInt. Math 的所有属性与方法都是 ...
- JavaScript中对象数组去重方法
在一次对后端返回的对象数组的操作时想通过indexOf()或者includes()的方法来实现对对象数组的去重但是行不通,因为用indexOf()返回的都是-1,一下记录两种对象数组(更具指定属性)去 ...
- vue中对象数组去重
其实很简单,一般的数组去重可以直接用 new Set() 方法即可,但是数组对象的话,比较复杂,不能直接用,我们可以采取间接的方法来去重 unique(arr) { const res = new M ...
- 掌握javascript中的最基础数据结构-----数组
这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...
随机推荐
- Linux系统启动顺序
Linux启动顺序 加电—加电自检(BIOS)—硬件检查 —MBR(找到需要启动的系统,由于实际计算机上可能会装有多个系统) —bootloader系统初始化,装载kenel到内存 —内核执行,决定哪 ...
- bzoj4321
queue2 HYSBZ - 4321 n 个沙茶,被编号 1~n.排完队之后,每个沙茶希望,自己的相邻的两 人只要无一个人的编号和自己的编号相差为 1(+1 或-1)就行: 现在想知道,存在多少方 ...
- objdump命令解析
[objdump] 相关链接: 实例分析objdump反汇编用法 - 在路上 - CSDN博客 https://blog.csdn.net/u012247418/article/details/80 ...
- 应用程序无法正常启动(0xc000007b)请单击确定关闭程序
1.问题 在win10 VS2105 环境下面开发了一个调用get接口获取数据然后写入pg数据库的程序,在自己电脑上运行正常.复制到win7环境下运行,单击出现如下图所示的提示框. 2.原因分析 出现 ...
- js上传图片获取原始宽高
以vue上传图片为例: <template> <div> <input type="file" @change="uploadFile($e ...
- 一、基础篇--1.2Java集合-HashMap死循环问题
为什么HashMap会出现死循环 首先,我们知道java的HashMap不是线程安全的.多线程下应该使用ConcurrentHashMap. HashMap底层是基于动态数组和单向链表(JDK1.7, ...
- Oracle 11g的日志路径
Oracle数据库的最常用问题定位日志是alert日志,Oracle数据库的日志文件alert_$ORACLE_SID.log记录了重作日志的转换,数据库启动和关闭,数据库结构的改变,回退段的修改,死 ...
- vue.js中$watch的用法示例
Vue.js 提供了一个方法 watch,它用于观察Vue实例上的数据变动.对应一个对象,键是观察表达式,值是对应回调.值也可以是方法名,或者是对象,包含选项. 在实例化时为每个键调用 $watch( ...
- python - paramiko模块 修改logging提示为静默
import paramiko import logging log = paramiko.util.get_logger("paramiko") log.setLevel(log ...
- Django框架 选项卡加active类的方案
------html部分----- <div class="left-menu"> <div class="menu-body"> &l ...