这篇文章主要介绍JavaScript中多个方法合体时都能做什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
多个方法合体时都能做什么?(举例一)
场景:
前端拿到的数据是
data = [ { id: 1, name: '一级标题-1' }, { id: 2, name: '一级标题-2' }, { id: 3, name: '二级标题-1', pid: 1 }, { id: 3, name: '一级标题-3' }, { id: 3, name: '二级标题-2', pid: 2 },]
我们需要形成及联关系,如:
needData = [ { id: 1, name: '一级标题-1', children: [ { id: 3, name: '二级标题-1', pid: 1 } ] }, { id: 2, name: '一级标题-2', children: [ { id: 5, name: '二级标题-2', pid: 2 } ] }, { id: 4, name: '一级标题-3' },]
于是我借助数组提供的多个api:
newList = data.reduce((result, item, _, arr) => { if (!item.pid) { return [...result, item]; } const parentItem = arr.find(({ id }) => id === item.pid); if (parentItem) { const { children = [] } = parentItem; parentItem.children = [...children, item]; } return result;}, []);
思路:
-
寻找存在父级的元素
-
将它发到正确的位置上
-
返回所有没有父级字段(pid)的数据
以上是“JavaScript中多个方法合体时都能做什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注云搜网行业资讯频道!