zoukankan      html  css  js  c++  java
  • 浅谈对象的两个方法:Object.keys() ,Object.assign();

    1 : Object.keys(obj)

    返回给定对象的所有可枚举属性的字符串数组

    例子1:

    var arr = [1, 2, 6, 20, 1];
    console.log(Object.keys(arr), "arr")//["0", "1", "2", "3", "4"] "arr"

    返回的数组元素的下标集合;

    例子2:

    var obj = {
            "name": 'lily',
            "age": '18',
            "work": 'student'
        };
        console.log(Object.keys(obj)); // ["name", "age", "work"]
    

    返回对象的属性名,即键名;

    2:Object.assign() 

    用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象(注意为浅拷贝)

    const object1 = {
            a: 1,
            b: 2,
            c: 3
        };
    const object2 = Object.assign({
            c: 4,
            d: 5
        }, object1);
    
    console.log(object2, "-", object1); //{c: 3, d: 5, a: 1, b: 2} - {a: 1, b: 2, c: 3}
    

    源对象跟目标对象有相同的属性时,以源对象为准;

    源对象越越靠后,权重级越大,越以谁为准,object3在最后,所以属性c的值,以object3为准,为9;

    例如:

    const object1 = {
            a: 1,
            b: 2,
            c: 3
        };
        const object3 = {
            c: 9
        };
        const object2 = Object.assign({
            c: 4,
            d: 5
        }, object1, object3);
    
        console.log(object2); //{c: 9, d: 5, a: 1, b: 2}
    
    
    

      

  • 相关阅读:
    mysql服务设置远程连接 解决1251 client does not support ..问题
    Docker的简单使用
    Kick Start 2018
    Kick Start 2018
    Kick Start 2018
    LeetCode——三维形体的表面积
    面试金典——按摩师
    LeetCode——使数组唯一的最小增量
    LeetCode——单词接龙 II
    LeetCode——N皇后 II
  • 原文地址:https://www.cnblogs.com/liliy-w/p/9758779.html
Copyright © 2011-2022 走看看