新方法 ES6对象方法 es6数组常用的方法

方法

  • includes():返回布尔值,判断是否找到参数字符串。
  • startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。
  • endsWith():返回布尔值,判断参数字符串是否在原字符串的尾部。
  • repeat():返回新的字符串,表示将字符串重复指定次数返回。
  • padStart(length,newStr):返回新的字符串,表示用参数字符串从头部(左侧)补全原字符串。
  • padEnd(length,newStr):返回新的字符串,表示用参数字符串从尾部(右侧)补全原字符串。
  • 模板字符串

    ES6对象方法

    commonjs

    Amd

    Cmd

  • Object.assign ()

    通过复制一个或多个对象来创建一个新的对象。

     var obj1 = { uname: "张三", age: 12 }
        var obj2 = { school: "积云教育", address: "海淀" }
    
        //合并对象
        // var result = Object.assign(obj1, obj2)
        // console.log(result)
    
        // console.log(obj1)

  • Object.create ()

    使用指定的原型对象和属性创建一个新对象。

  • Object.defineProperty ()

    ​ prototype

    给对象添加一个属性并指定该属性的配置。

  • Object.defineProperties ()

    给对象添加多个属性并分别指定它们的配置。

  • Object.entries ()

    返回给定对象自身可枚举属性的 [key, value] 数组。

  • Object.freeze()

    冻结对象:其他代码不能删除或更改任何属性

  • Object.getownPropertyDescriptor()

    返回对象指定的属性配置。

  • Object.getownPropertyNames()

    返回一个数组,它包含了指定对象所有的可枚举或不可枚举属性名。

  • Object.getownPropertySymbols()

    返回一个数组,它包含了指定对象自身所有的符号属性

  • Object.getPrototypeOf()

    返回指定对象的原型对象。

  • Object.is()

    比较两个值是否相同。所有 NaN 值都相等(这与==和===不同)。

  • Object.isExtensible()

    判断对象是否可扩展。

  • Object.isFrozen()

    判断对象是否已经冻结。

  • Object.isSealed()

    判断对象是否已经密封。

  • Object.keys()

  • Object.values()

  • 浅拷贝与深拷贝

    栈内存和堆内存

  • 栈内存:简单数据类型 string,number,boolean,null,undefined
  • 堆内存:复杂数据类型 object,array....
  • 注意:

  • 浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。
  • 深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。
  • 1.直接赋值

    //直接赋值   
    let arr1 = ["北京", "上海", "广州",["白云区","黄埔区"]]
    let arr2 = arr1;
    let arr2 = []
    
    
    
    arr2[0] = "beijing"
    console.log("arr2", arr2)
    console.log("arr1", arr1)
     

     

 

2.浅拷贝

let arr1 = ["北京", "上海", "广州",["白云区","黄埔区"]]
let arr2 = arr1;

//浅复制   
for (var k in arr1) {
    arr2[k] = arr1[k]
}
arr2[0] = "beijing"
arr2[3][0]="baiyunqu"

// console.log("arr2", arr2)
// console.log("arr1", arr1)

3.深拷贝

for (k in arr1) {

    if (arr1[k] instanceof Array) {
        //数组
        arr2[k] = []
        for (var m in arr1[k]) {
            arr2[k][m] = arr1[k][m]
        }

    } else if (arr1[k] instanceof Object) {
        //对象
        arr2[k] = {}
        for (n in arr1[k]) {
            arr2[k][n] = arr1[k][n]
        }
    } else {
        //字符串
        arr2[k] = arr1[k]
    }
}

// arr2[3][0] = "baiyunqu"
// console.log("arr2", arr2)
// console.log("arr1", arr1)

arr2[4].uname = "zhangsan"
console.log("arr2", arr2)
console.log("arr1", arr1)
 

es6数组常用的方法

filter():创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素(注意:它不会对空数组检测,它不会改变原数组)

1、Array.from( ):将对象或字符串转成数组,注意得有length。

2、Array.of( ): 将一组值转换为数组。

3、copyWithin(target,start(可选),end(可选)):数组内数据的复制替换

target:从该位置开始替换数据;。

start:从该位置开始读取数据,认为0;

end:到该位置停止数据的读取,认为数组的长度

4、find( ):用于找出第一个符合条件的数组成员。

5、findindex( ):返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。

6、fill(value,start,end):使用给定值,填充一个数组。

value:填充的值;

start:开始填充的位置;

end:填充结束的位置。

7、keys( ):对键名的遍历。

8、values( ):对键值的遍历。

9、entries( ):对键值对的遍历。

10、includes( ):数组原型的方法,查找一个数值是否在数组中,只能判断一些简单类型的数据,对于复杂类型的数据无法判断。该方法接受两个参数,分别是查询的数据和初始的查询索引值。

11、flat( ):用于数组扁平,数组去除未定义。

12、flatMap( ):对原数组的每个成员执行一个函数。 , 13、Map( ):是一组键值对的结构,具有极快的查找速度。

14、Set( ):Set和Map类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key。

相关文章

谷歌翻译不能用了怎么办?最近有很多用户发现谷歌浏览器翻译...
ios17有不少新功能,此次更新重点升级了电话和短信的功能,新...
什么是IP地址?IP地址有什么用? 很简单,IP是整个TCP/IP协议...
网上找到的动图下载到本地保存时格式却成了webp,想要发表情...
小米手机一开相机就死机怎么处理? 处理手机一开相机就死机的...
充电宝押金什么时候可以退?具体操作充电宝退押金的操作步骤...