2016-11-16 5 views
0

私はselectedArrayという配列を持っています。これはオブジェクトの配列です。サンプルは次のとおりです。"[object Object]"から値を取得する方法

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の値を調べます。 "[object Object][object Object]"

:それは、私はそれがそのオブジェクトを引き出し、新しい配列を作成したいの条件を満たしているオブジェクトが 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は次のように出てくる見つけると

私はJavascriptを初めて使用しており、これをどのようにしてselectedArrayと同じ形式にすることができるのか、グーグルでいつも過ごしました。私はこれらのオブジェクトを解析することにも成功していません。私が見つけた例のほとんどはキーにアクセスする必要があるためです。しかし、で、これを行うと個々の値を文字列として取り出すことができます。childNodes += selectedArray[i].name;

しかし、コードの私の次のチャンクがfilterを使用し、それが同じ形式、すなわち二つの配列を見たいと私にとってそれは、十分ではありません。

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

任意のアドバイスはありますか? TKS!

答えて

4

childNodesは配列ですが、文字列の連結を使用しています。配列にオブジェクトをプッシュする必要があります

childNodes.push(selectedArray[i]); 
+0

'[Object object]'は、今から何かが正しくないことを伝えるべきです。 ...それが本当にあなたが期待しているものでない限り。 – chazsolo

関連する問題