移动多维数组树的深层成员 - 使用lodash或下划线

时间:2015-05-08 08:52:46

标签: javascript multidimensional-array underscore.js lodash

我想使用lodash或等效代码移动树的深集成员。

示例树

[
    { id: 32, name: 'unique name', children: [] },
    { id: 43, name: 'unique name', children: [] },
    { id: 55, name: 'unique name', children: [
        { id: 31, name: 'unique name', children: [] },
        { id: 63, name: 'unique name', children: [] },
        { id: 84, name: 'unique name', children: [
            { id: 47, name: 'unique name', children: [] },
            { id: 56, name: 'unique name', children: [] }
        ] }
    ] }
    { id: 67, name: 'unique name', children: [
        { id: 78, name: 'unique name', children: [] },
        { id: 89, name: 'unique name', children: [] },
    ] },
    { id: 30, name: 'unique name', children: [] }
]

我怎么能:

  • 找到ID为47的特定对象
  • 将该对象(ID为47)移动到树的新级别

最好使用lodash。树可以是无限深度的。

编辑为了回应所选答案,我重新编写了代码以更准确地符合我的问题说明:https://jsfiddle.net/j88vencp/4/

1 个答案:

答案 0 :(得分:2)

如果,您可以稍微更改树的结构,以您想要的方式操作更容易:

PagingAndSortingRepository

这是一个小提琴 - > https://jsfiddle.net/j88vencp/4/