js中数据结构数组Array、映射Map、集合Set、对象、JSON

全栈工程师开发手册 (作者:栾鹏)

js系列教程5-数据结构和算法全解

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);

你可能感兴趣的:(js,js开发手册)