JavaScript将数组转换为链表的方法


Posted in Javascript onFebruary 16, 2020

JS中将数组转换为链表

/**
 * 将数组转换为链表
 * @param array arr  需要转换的数组
 * @param int  type  转换的类型,0为单链表,1为循环链表
 * @return object    返回链表
 */
function array2List(arr, type = 0) {
  if (!arr.length) return null;
  let header = { index: 0, data:arr[0], next: null };
  let obj = header;
  for (let i = 1; i < arr.length; i++) {
    obj.next = { index: i, data: arr[i], next: null };
    obj = obj.next;
  }
  if (type) obj.next = header;
  return header;
}

比如我现在传入数组 data:

JavaScript将数组转换为链表的方法

那么,使用 array2List(data, 1) 函数后,生成的循环链表为:

JavaScript将数组转换为链表的方法

如果要生成单链表,不需要传入 type 值

总结

以上所述是小编给大家介绍的JavaScript将数组转换为链表的方法,希望对大家有所帮助!

Javascript 相关文章推荐
JQuery对checkbox操作 (循环获取)
May 20 Javascript
javascript中RegExp保留小数点后几位数的方法分享
Aug 13 Javascript
JS动态增加删除UL节点LI及相关内容示例
May 21 Javascript
JavaScript tab选项卡插件实例代码
Feb 23 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
Mar 14 Javascript
清空元素html(&quot;&quot;) innerHTML=&quot;&quot; 与 empty()的区别和应用(推荐)
Aug 14 Javascript
Angular2 组件间通过@Input @Output通讯示例
Aug 24 Javascript
Vue 获取数组键名的方法
Jun 21 Javascript
vue实现form表单与table表格的数据关联功能示例
Jan 29 Javascript
vue实现购物车结算功能
Jun 18 Javascript
手写Vue2.0 数据劫持的示例
Mar 04 Vue.js
5个实用的JavaScript新特性
Jun 16 Javascript
javascript canvas API内容整理
Feb 16 #Javascript
vue props 单项数据流实例分享
Feb 16 #Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
Feb 16 #Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
Feb 16 #Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
Feb 16 #Javascript
封装一下vue中的axios示例代码详解
Feb 16 #Javascript
Vue.js的模板语法详解
Feb 16 #Javascript
You might like
php二分法在IP地址查询中的应用
2008/08/12 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
基于PHP-FPM进程池探秘
2017/10/17 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
Javascript Tab 导航插件 (23个)
2009/06/11 Javascript
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
Jquery + Ajax调用webService实例代码(asp.net)
2010/08/27 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
JavaScript中Number对象的toFixed() 方法详解
2016/09/02 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
JavaScript学习笔记之函数记忆
2017/09/06 Javascript
让bootstrap的carousel支持滑动滚屏的实现代码
2017/11/27 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
解决Vue打包后访问图片/图标不显示的问题
2019/07/25 Javascript
[04:45]DOTA2-DPC中国联赛正赛 iG vs LBZS 赛后选手采访
2021/03/11 DOTA
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
python实现redis三种cas事务操作
2017/12/19 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
python钉钉机器人运维脚本监控实例
2019/02/20 Python
基于python-opencv3的图像显示和保存操作
2019/06/27 Python
python实现最速下降法
2020/03/24 Python
美国购车网站:TrueCar
2016/10/19 全球购物
三星法国官方网站:Samsung法国
2019/10/31 全球购物
人民教师的自我评价分享
2014/02/21 职场文书
公司营业员的自我评价
2014/03/04 职场文书
企业安全生产标语
2014/06/06 职场文书
实习生工作证明范本
2014/09/14 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
父亲节寄语大全
2015/02/27 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL