代码之家  ›  专栏  ›  技术社区  ›  noyruto88

在javascript中的object.assign(object1[i])。

  •  0
  • noyruto88  · 技术社区  · 8 年前

    比如说,object1有10个对象。 此代码将object1分配给object2

    const object2 = Object.assign(object1);
    

    但我只想从对象1中分配5个对象,使用for循环。

    for (let i = 0; i < 5; i++) {
        object2 = Object.assign(object1[i]);
    }
    // but this one won't work.
    

    有什么想法吗?

    1 回复  |  直到 8 年前
        1
  •  1
  •   RizkiDPrast    8 年前
    1. 我假设obj1和obj2都是数组

    var obj1 = []
        for (let i=0; i< 10; i++)
        {
            obj1.push({key: i});
        }
        var obj2 = []
        for (let i=0; i< 5; i++)
        {
            obj2.push(obj1[i]);
        }
    1. 我想你是在学习 Object.assign() . 用于将原始对象克隆或修改为目标对象

        var obj1 = {key:1, foo: 'bar'};
        var obj2 = Object.assign({}, obj1);    //clone all properties
        var obj3 = Object.assign({foo: 'not bar', newprop: 'anything'}, obj1);    //copy the original, modify `foo` property and add `newprop`
        //you can iterate through properties with this
        for (var property in obj3) {
        if (obj3.hasOwnProperty(property)) {
              // do stuff, may be filter which property you want to get, etc
            }
        }
    推荐文章