一.js内置对象的方法:
1. Set数据结构(Set本身也是构造函数,Set实例的对象的值是唯一的)
1.1 Set的操作方法
- add(value);//不会重复添加相同的数据
- delete(value);//删除—返回是否成功的布尔值
- has(value);//是否包含指定值–布尔值
- clear();//清空所有数据—无返回值
1.2 Set的遍历方法
- keys();//返回键名的遍历器
- values();//返回键值的遍历器
- entries();//返回键值对的遍历器
- forEach();//使用回调函数遍历每个成员
set也可以使用filter和map方法,可以很方便实现交集(intersecte), 并集(union), 差集(difference)
let a=new Set([1,2,3]);
let b=new Set([4,3,2]);
// 并集
let union=new Set([...a,...b]);
// 交集
let intersect=new Set([...a]).filter(item=>return b.has(item));
// 差集
let defference=new Set([...a]).filter(item=>return !b.has(item))
2. 构造函数–Map
2.1 Map的操作方法
- set(key,value);//如果对应的key有值则更新,没有则添加—返回当前的map对象
-
get(key);//get方法读取key对应的键值,如果找不到key,返回undefined
-
has(key);//has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。
-
delete(key);//delete方法删除某个键,返回true。如果删除失败,返回false。
-
clear();//clear方法清除所有成员,没有返回值。
- size属性,返回Map实例的成员总数
2.2 Map的遍历方法
- keys();//返回键名的遍历器。
- values();//返回键值的遍历器。
- entries();//返回所有成员的遍历器。
- forEach();//遍历 Map 的所有成员,在回调中进行处理。
注意:Map 本身没有map和filter方法,结合数组的map方法、filter方法,可以实现 Map 的遍历和过滤(map遍历与过滤的时候可以采用赋值解构的方式取数据的值)
3. 对象----Object
3.1 对象的简写:属性与值相同,属性名与方法名相同时可简写
3.2 对象新增关键字:super----指向当前对象的原型对象
3.3 解构赋值:
只能复制对象自身的属性和值,无法复制原型上的属性与方法
3.4 扩展运算符:
相当于对象的assign方法
①如果自定义属性放在扩展运算符的后面,则扩展运算符中的同名属性会被覆盖
②如果把定义属性扩展运算符的前面,则相当于给对象设置默认值
③对象的扩展运算符后面可跟表达式:(数组也一样)
3.5 对象的属性和方法
- Object.assign(target,obj1,obj1,obj3); //合并对象,target为目标对象,同名属性后面的会覆盖前面的通过
- Object.create(proto); //新创建对象的原型对象
- Object.entries(obj); //返回一个指定对象可枚举属性的键值对数组,这个属性可以很方便的将对象转化为map结构
- Object.is(value1, value2); //判断两个值是否相等
- Object.keys(obj); //返回一个自身对象的所有可枚举属性的数组
- Object.values(obj); //返回一个自身对象的所有可枚举属性值的数组
4. 数组------Array
4.1数组的属性
- length; // 返回数组的长度
- prototype //Array.prototype属性表示 Array 构造函数的原型并允许您向所有Array对象添加新的属性和方法。
示例:为数组添加first属性
if ( !Array.prototype.first) {
Array.prototype.first=function(){
return this[0];
}
}
var arr1=new Array();
arr1=[1,3,5];
var first=arr1.first(); // 1
4.2 操作数组的方法
- concat(); 连接两个或更多的数组,并返回合并后的数组
示例:连接3个数组
var arr1 = ['a', 'b', 'c'];
var arr2 = ['d', 'e', 'f'];
var arr3=['g','h','i'];
console.log(arr1.concat(arr2,arr3));
// expected output: Array ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
- join();------将数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串,可以指定分隔符,默认以‘,’分隔。
示例:
var elements = ['Fire', 'Wind', 'Rain'];
console.log(elements.join());
// expected output: Fire,Wind,Rain
console.log(elements.join(''));
// expected output: FireWindRain
console.log(elements.join('-'));
// expected output: Fire-Wind-Rain
- sort()——方法用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是根据字符串Unicode码点。