2017-01-18 14 views
0

私はかなり新しいコーディングですので、あまりにも基本的な質問が多すぎる場合は私をよろこんでください。私はcodewars.comの課題に取り組み、コーディングの適性を増やそうとしています。私が現在取り組んでいるのは、次のプロンプトがあります。Javascriptリスト内のネストされたオブジェクトにアクセスする

リストは、それぞれが単一の値と次のオブジェクトへの参照を含むネストされたオブジェクトで構成されたデータ構造です。関数listToArray(またはPythonのlist_to_array)配列へのリスト

私が持っている問題はリストにあります。彼らは入れ子にされ、入れ子になっています。私の質問は、それがさらに進んだネストされている場合、どのように各オブジェクトの値にアクセスするのですか?値をアクセスする方法を知ることができれば、アレイを簡単に作成できるはずです。前もって感謝します!

リストの例: {value: 1, next: {value: 2, next: {value: 3, next: null}}}

所望の最終結果:[1, 2, 3]

私がこれまで持っている:リストでは

function listToArray(list) { 
 
    
 
    var arr; 
 
    for (var i in list) { 
 
    arr += list [i]; 
 
    i++; 
 
    } 
 
// return arr; 
 
} 
 
var list1 = {value: 1, next: {value: 2, next: {value: 3, next: null}}}; 
 
listToArray(list1)

答えて

0

ループにいる間、あなたが通常使用反復する。

function listToArray(list) { 
    var arr = []; 
    while(list !== null) { 
    arr.push(list.value); 
    list = list.next; 
    } 
    return arr; 
} 
+0

ありがとうございます!私はここではすべて、主に.nextプロパティ(?)を理解しようとしています。次は実際のJavascriptキーワードですか、それともそれが選択されただけなのですか(例:オブジェクトと関数の両方で "dog"と置き換えられ、同じタスクを達成することができますか? –

+0

2番目の答え。 jsオブジェクト( '{...}')では、必要に応じてキーの名前をつけて、 'object.dog'や' var myVar = 'dog'でアクセスすることができます。 object [myVar] '' next'を 'dog'に置き換えて試してみることができます。 – Guig

+0

'list1.next'は' {value:2、next:{value:3、next:null}} 'などです。 – Guig

関連する問題