• 浅谈对象的两个方法: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}
    
    
    

      

  • 相关阅读:
    codevs 1115 开心的金明
    POJ 1125 Stockbroker Grapevine
    POJ 2421 constructing roads
    codevs 1390 回文平方数 USACO
    codevs 1131 统计单词数 2011年NOIP全国联赛普及组
    codevs 1313 质因数分解
    洛谷 绕钉子的长绳子
    洛谷 P1276 校门外的树(增强版)
    codevs 2627 村村通
    codevs 1191 数轴染色
  • 原文地址:https://www.cnblogs.com/liliy-w/p/9758779.html
Copyright © 2020-2023  润新知