将对象添加到JS中的另一个对象属性

时间:2019-11-23 16:36:43

标签: javascript

        myRecyclerAdapter.myViewHolder.reportContainer.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(getContext(),"Touch",Toast.LENGTH_SHORT).show();
            }
        });

我需要在obj={ cats:{name:"kitty",age:"8"} } 上添加{name:"nacy",age:"12"}怎么做?

我尝试过的事情:

obj.cats

Object.assign({name:"nacy",age:"12"},obj.cats); 只有小猫时,它什么也没做。

最后,我想在console.log(obj)上得到它:

console.log(obj.cats)

而且我不想使用数组。

2 个答案:

答案 0 :(得分:0)

如果您想先添加“ nacy”,则可以将cats更改为数组 (了解有关数组的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

它看起来像这样:

var obj={
cats:[{name:"kitty",age:"8"}]

}

然后“推”或添加“ nacy”

obj.cats.push({name:"nacy",age:"12"})

结果:

{ cats: [ { name: 'kitty', age: '8' }, { name: 'nacy', age: '12' } ] }

答案 1 :(得分:0)

建议您阅读更多有关对象和数组的文档。 object.cats应该是一个数组。正确用法:

let obj = {
  cats: [
    {name:"kitty",age:"8"}
  ]
};

obj.cats.push({name:"nacy",age:"12"})

//Now here, we have 2 elements of obj.cats
console.log(obj.cats)

如果要使用对象并替换obj.cats(如您的示例),则必须首先传递现有对象,然后传递要替换的值:Object.assign(obj.cats, {name:"nacy",age:"12"})