Javascript 将对象推送到另一个数组

Javascript 将对象推送到另一个数组,javascript,jquery,Javascript,Jquery,我有一个这样的数组 var assets = [ { "name": "male", "type": [ { name: "tommy", y: 512, }, { name: "rian", y: 812, }, ], }, { "name": "female", "type": [

我有一个这样的数组

var assets = [
    {
    "name": "male",
    "type": [
        {
          name: "tommy",
          y: 512,
        },
        {
          name: "rian",
          y: 812,
        },
      ],
    },
    {
    "name": "female",
    "type": [
        {
          name: "mariam",
          y: 512,
        },
        {
          name: "linda",
          y: 412,
        },
      ],
    }
  ];
[Array(2)]
    0:Array(2)
      0:{name: "mariam", y: 512}
      1:{name: "linda", y: 412}
      length:2
      __proto__: Array(0)
      length:1
    __proto__:  Array(0)
(2) [{…}, {…}]
  0:{name: "mariam", y: 512}
  1:{name: "linda", y: 412}
  length:2
  __proto__:Array(0)
并且有一个按钮,其标题与对象的名称相同

<button title="male">this is male</button>
<button title="female">this is female</button>
我得到了这样的输出

var assets = [
    {
    "name": "male",
    "type": [
        {
          name: "tommy",
          y: 512,
        },
        {
          name: "rian",
          y: 812,
        },
      ],
    },
    {
    "name": "female",
    "type": [
        {
          name: "mariam",
          y: 512,
        },
        {
          name: "linda",
          y: 412,
        },
      ],
    }
  ];
[Array(2)]
    0:Array(2)
      0:{name: "mariam", y: 512}
      1:{name: "linda", y: 412}
      length:2
      __proto__: Array(0)
      length:1
    __proto__:  Array(0)
(2) [{…}, {…}]
  0:{name: "mariam", y: 512}
  1:{name: "linda", y: 412}
  length:2
  __proto__:Array(0)
如何把它变成这样

var assets = [
    {
    "name": "male",
    "type": [
        {
          name: "tommy",
          y: 512,
        },
        {
          name: "rian",
          y: 812,
        },
      ],
    },
    {
    "name": "female",
    "type": [
        {
          name: "mariam",
          y: 512,
        },
        {
          name: "linda",
          y: 412,
        },
      ],
    }
  ];
[Array(2)]
    0:Array(2)
      0:{name: "mariam", y: 512}
      1:{name: "linda", y: 412}
      length:2
      __proto__: Array(0)
      length:1
    __proto__:  Array(0)
(2) [{…}, {…}]
  0:{name: "mariam", y: 512}
  1:{name: "linda", y: 412}
  length:2
  __proto__:Array(0)

如果另一个数组
数据
(在本例中)为空

您可以像下面这样直接分配

var-assets=[{“name”:“male”,“type”:[{name:“tommy”,y:512,},{name:“rian”,y:812,},},},},{“name:“female”,“type”:[{name:“mariam”,y:512,},{name:“linda”,y:412,},},},},},}]
$('button')。在('click',function()上{
var attr=$(this.attr('title');
var obj=assets.find(函数(obj){return obj.name==attr;});
数据=对象类型;
控制台日志(数据);
});

这是男性

这是女性
摆脱
数据=[]
数据。推送(…)
。直接使用
obj.type
,因为它已经是您想要的格式了。那么如何推送到另一个数组呢?在这种情况下,您可以使用
push()
-但是为什么需要这样做呢?数据已经是您的问题所要求的格式-正如您在本例中所看到的:为什么要将
concat
与空数组一起使用?与刚才的
data=obj.type相同
这里它是空数组,但如果数组不是空的,那么我们就不能像你说的那样直接赋值。(我只是给出两种情况下的解决方案)@Barmarhe只是想从对象中得到列表,问题中没有任何东西建议它应该添加到任何已经存在的对象中。标题是“将对象推到另一个数组中”,他没有说另一个数组是否为空。所以用海螺。但我同意你的观点,如果另一个数组是空的,那么concat就没有意义了。@BarmarHis代码有
data=[]在其中,因此数组最初为空。