龙空技术网

array、Set、Map区别

解影视 100

前言:

此刻兄弟们对“netnew数组”大概比较关心,同学们都需要学习一些“netnew数组”的相关资讯。那么小编在网上网罗了一些对于“netnew数组””的相关知识,希望你们能喜欢,小伙伴们一起来了解一下吧!

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属性和相关操作

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

标签: #netnew数组