ES6数组去重的最佳实践:Set结合Array.from() | 拓展运算符结合 Set

js中数据结构

js中原生自带的数据结构比较简单,主要有数组Array、映射Map、集合Set。我们可以根据这三个基本数据结构实现我们其他想要的数据结构类型。

数组Array

js中的数组不区分元素类型,数组的使用在可以参考js系列教程1-数组操作全解

映射Map

var map = new Map();                //映射,不重复的键,以键值对的形式存在
map.set("name","mapluanpeng");      //添加设置映射
if(map.has("name"))                 //判断映射是否存在
    printf(map.get("name"));        //读取映射
map.delete("name");                 //删除映射

合Set

var set1 = new Set(["name1","name2","name3"]);              //集合。不重复的元素集合,不存在键值对
set1.add("name");                   //添加集合
if(set1.has("name")){               //检测集合是否存在指定元素
    set1.delete("name");            //删除集合元素
    set1.clear();                   //清空集合元素
    console.log(set1.size);         //集合大小
}
set1 = new Set(["name1","name2","name3"]);
var set2 = new Set(["name1","name3","name5"]);

//并集
let union = new Set([...set1, ...set2]);
//交集
let intersect = new Set([...set1].filter( x => set2.has(x)));
//差集
let difference = new Set([...set1].filter(x => !set2.has(x)));

对象 
对象本身也可以作为一种数据结构,通过设置属性和属性的值来存储数据。对象的内容可以参考js系列教程2-对象和属性全解

JSON 
json是一种字符串数据格式,由于经常与对象变量转换,进行前后台的数据交互,这里了解一下。

JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };


var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
Alert(obj.name);  //读取对象属性

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
alert(last);

转载于:https://my.oschina.net/bluefrankey/blog/1935668

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值