array、Set、Map区别

array: 数组对象,是使用单独的变量名来存储一系列的值。

//创建数组三种方式

var myArr=new Array(); 
myArr[0]="Saab";       
myArr[1]="Volvo";
myArr[2]="BMW";

var myArr=new Array("Saab","Volvo","BMW");

var myArr=["Saab","Volvo","BMW"];

console.log(myArr);
// ['Saab','Volvo','BMW']

array属性和相关操作
https://blog.csdn.net/weixin_44242600/article/details/87349916

Set: ES6 提供了新的数据结构。它类似于数组,但是成员的值都是唯一的,没有重复的值。
Set本身是一个构造函数,用来生成 Set 数据结构。
Set函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。

Set结构实例的属性和操作方法
size属性: 返回Set实例的成员总数。

let set = new Set();
set.add(‘a’);
set.size // 1
set.add("b");
set.size //2

**add(value):**添加某个值,返回 Set 结构本身。

let set = new Set();
set.add(1).add(2);
set.size // 2

set.add(1).add(2).add(2).add(3);
set.size // 3 
//2被添加两次

**delete(value):**删除某个值,返回一个布尔值,表示删除是否成功。

let set = new Set();
set.add(1).add(2).add(3);
// set.size 3
set.delete(2);
// 1,3
//set.size 2

**has(value):**返回一个布尔值,表示该值是否为Set的成员。

let set = new Set();
set.add(1).add(2);
set.has(1) // true
set.has(2) // true
set.has(3) // false

**clear():**清除所有成员,没有返回值。

let set = new Set();
set.add(1).add(2).add(2).add(3);
set.clear();
//set.size 0

Map: ES6 提供了新的数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map 结构提供了“值—值”的对应。

Map 结构实例的属性和操作方法:
size 属性: 返回 Map 结构的成员总数。

const map = new Map();
map.set('foo', true);
map.set('bar', false);

map.size // 2

set(key, value): set方法设置键名key对应的键值为value,然后返回整个 Map 结构。如果key已经有值,则键值会被更新,否则就新生成该键。返回的是当前的Map对象

const m = new Map();
m.set('aa', 6)        // 键是字符串
m.set(262, 'standard')     // 键是数值
m.set(undefined, 'nah')    // 键是 undefined

//链式写法
let map = new Map()
  .set(1, 'a')
  .set(2, 'b')
  .set(3, 'c');

get(key): get方法读取key对应的键值,如果找不到key,返回undefined。

const m = new Map();

const hello = function () {
	console.log('hello');
};

m.set(hello, 'Hello ES6!') // 键是函数
m.set(undefined, 'Undefined!') // 键是undefined

m.get(hello); // Hello ES6!
m.get(undefined); // Undefined!

has(key): 返回一个布尔值,表示某个键是否在当前 Map 对象之中。

const m = new Map();
m.set('aaa', 6);
m.set(111, 'standard');

m.has('aaa')     // true
m.has('bbb')     // false
m.has(111)       // true

delete(key): 删除某个键,返回true。如果删除失败,返回false。

const m = new Map();
m.set(undefined, 'aaa');
m.has(undefined)     // true

m.delete(undefined)
m.has(undefined)       // false

clear(): clear方法清除所有成员,没有返回值。

let map = new Map();
map.set('foo', true);
map.set('bar', false);

map.size // 2
map.clear()
map.size // 0

猜你喜欢

转载自blog.csdn.net/weixin_44242600/article/details/87915922