JavaScript的对象

一.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码点。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值