首页 > 解决方案 > javascript 中的 Object.assign(object1[i])

问题描述

假设 object1 有 10 个对象。这段代码将object1分配给object2

const object2 = Object.assign(object1);

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

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

有任何想法吗?

标签: javascriptjavascript-objects

解决方案


  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
        }
    }


推荐阅读