浅谈对象的两个方法:Object.keys() ,Object.assign();

本文深入讲解了JavaScript中Object.keys()和Object.assign()方法的使用。Object.keys()用于获取对象的所有可枚举属性名称,而Object.assign()则用于将源对象的属性复制到目标对象,实现对象的浅拷贝。文章通过实例演示了这两个方法的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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}

  

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/liliy-w/p/9758779.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值