如何从"[object object]"获取值

How to get the values from "[object Object]"

本文关键字:quot object 获取      更新时间:2023-09-26

我有一个名为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上循环。循环查看一个称为nodesWithchildren的相同构造的数组的lftrgt值。当它找到一个符合条件的对象时我想让它把这个对象拉出来并创建一个名为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);

任何建议吗?谢谢!

childNodes是一个数组,但是您正在使用字符串连接。你应该把对象压入数组而不是

childNodes.push(selectedArray[i]);