2017-06-27 22 views
1

入れ子構造(ツリー)にフラット配列を解析これを行う良い方法だが、私は良い例を見つけることができない。例えば、私は、次の配列を解析したい

ありがとうございました!

+0

https://stackoverflow.com/questions/44679971/create-nested-object-from-multiple-string-paths/44680094#44680094 –

答えて

2

ツリー構造を構築するためにネストされたハッシュテーブルアプローチを使用できます。

var nodes = ["a.b.c.d", "a.e.f.g", "a.h", "a.i.j", "a.b.k"], 
 
    result = []; 
 

 
nodes.forEach(function (a) { 
 
    a.split('.').reduce(function (r, k, i, kk) { 
 
     if (!r[k]) { 
 
      r[k] = { _: [] }; 
 
      r._.push({ node: k, leaf: i + 1 === kk.length, children: r[k]._ }); 
 
     } 
 
     return r[k]; 
 
    }, this); 
 
}, { _: result }); 
 

 
console.log(result[0]);
.as-console-wrapper { max-height: 100% !important; top: 0; }

+0

ああ素敵な、感謝を見てくださいたくさん! – luthien

関連する問題