如何从“[object Object]”获取值

时间:2016-11-16 01:03:46

标签: javascript arrays javascript-objects

我有一个名为selectedArray的数组。这是一个对象数组,这里有一个示例:

selectedArray
:Array[1]
0:Object
category_id:"8"
created_at:"2016-11-04 14:14:28"
lft:"17"
name:"Felt Materials"
rgt:"22"
updated_at:"-0001-11-30 0:00:00"
__proto__:Object

我在下面有这个代码。它循环遍历selectedArray。该循环查看名为lft的相同构造数组的rgtnodesWithchildren值。当它找到满足条件的对象时,我希望它将该对象拉出并创建一个名为childNodes的新数组

 var childNodes=[];

  for(i=0; i < selectedArray.length; i++){
   if((selectedArray[i].lft /1 ) > (nodesWithchildren[0].lft /1) && (selectedArray[i].rgt/ 1) < (nodesWithchildren[0].rgt/1)) {
    childNodes += selectedArray[i];
        }
    }

现在一切都很好,除了一个问题,childNodes就像这样:  "[object Object][object Object]"

我是Javascript的新手,我花了一整天的时间用谷歌搜索我如何将其变成与selectedArray相同的格式。我甚至没有成功解析这些对象,因为我发现的大多数示例都需要访问密钥。但是,如果我执行此操作,可以将单个值拉出为字符串:childNodes += selectedArray[i].name;

但是对于我来说还不够好,因为我的下一个代码块使用了filter并希望以相同的格式看到两个数组,即:

  var filtered=selectedArray.filter(function(e){return this.indexOf(e)<0;},childNodes);

有什么建议吗? TKS!

1 个答案:

答案 0 :(得分:4)

childNodes是一个数组,但您正在使用字符串连接。您应该将对象推送到数组上

childNodes.push(selectedArray[i]);
相关问题