1. 扁平数组转成tree结构(来源: StackOverflow的印度老哥写的)

 // Data Set
// One top level comment
var comments = [{
id: 1,
parent_id: null
}, {
id: 2,
parent_id: 1
}, {
id: 3,
parent_id: 1
}, {
id: 4,
parent_id: 2
}, {
id: 5,
parent_id: 4
}]; const nest = (items, id = null, link = 'parent_id') =>
items
.filter(item => item[link] === id)
.map(item => ({ ...item, children: nest(items, item.id) })); nest(comments);

2. 二路归并

// divide array
function divide(p, r) {
return Math.floor((p + r) / 2);
} // merge array
function merge(A, p, q, r) {
const A1 = A.slice(p, q);
const A2 = A.slice(q, r);
A1.push(Number.MAX_SAFE_INTEGER);
A2.push(Number.MAX_SAFE_INTEGER);
for (let i = p, j = 0, k = 0; i < r; i++) {
if (A1[j] < A2[k]) {
A[i] = A1[j];
j++;
} else {
A[i] = A2[k];
k++;
}
}
} // main method
function merge_sort(A, p = 0, r) {
r = r || A.length;
if (r - p === 1) {
return;
}
const q = divide(p, r);
console.log(q)
merge_sort(A, p, q);
merge_sort(A, q, r);
merge(A, p, q, r); return A;
}

最新文章

  1. Cloud9:解决ThinkPHP在C9上运行时连接数据库时报错&quot;No such file or directory&quot;的问题
  2. 【转】升级Xcode6.3插件失效解决办法
  3. MySQL的数据库引擎
  4. 正则表达式从右往左进行匹配(Regex)
  5. JBoss7 局域网无法访问 解决方法
  6. ubuntu 下编译安装 mysql php nginx 及常见错误 (持续添加)
  7. 练习2 H题 - 求数列的和
  8. 探索 ConcurrentHashMap 高并发性的实现机制
  9. 奥酷流媒体服务系统AMS5.0
  10. Centos7数据实时同步
  11. java34
  12. js封装插件
  13. windows下 python2 和python3 共存
  14. 20155318 《网络攻防》Exp3 免杀原理与实践
  15. openfire 用户名+密码 配置
  16. 机器学习(5): K-means 算法
  17. cocos2d-x 2.2 创建项目
  18. C++中的友元函数的总结
  19. 使用DBMS_SCHEDULER包管理计划任务
  20. Python to list users in AWS

热门文章

  1. 【bzoj1026】[SCOI2009]windy数
  2. jdbcTemplate进行CRUD,查询结果转json
  3. (转载)Kaggle_Titanic生存预测 -- 详细流程吐血梳理
  4. [LeetCode]-DataBase-Department Top Three Salaries
  5. 20175308 2018-2019-2 实验四 《Android开发基础》实验报告
  6. 利用Lucene.net搜索引擎进行多条件搜索的做法
  7. 一、基础篇--1.1Java基础-Exception、Error、RuntimeException与一般异常有何异同
  8. Failed to find data source: kafka
  9. WINDOWS API 大全(二)
  10. IE浏览器中图片路径正确&lt; img ... /&gt;标签不显示图片