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 ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
Apr 01 Javascript
javascript读取Xml文件做一个二级联动菜单示例
Mar 17 Javascript
使用JavaScript实现弹出层效果的简单实例
May 31 Javascript
原生 JS Ajax,GET和POST 请求实例代码
Jun 08 Javascript
AngularJS中的Promise详细介绍及实例代码
Dec 13 Javascript
原生js验证简洁注册登录页面
Dec 17 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
Feb 16 Javascript
小程序开发基础之view视图容器
Aug 21 Javascript
vue里input根据value改变背景色的实例
Sep 29 Javascript
更强大的vue ssr实现预取数据的方式
Jul 19 Javascript
angularjs自定义过滤器demo示例
Aug 24 Javascript
微信小程序 接入腾讯地图的两种写法
Jan 12 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
索尼SONY ICF-7600A(W)电路分析
2021/03/01 无线电
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
Nginx下配置codeigniter框架方法
2015/04/07 PHP
PHP设计模式之委托模式定义与用法简单示例
2018/08/13 PHP
JQuery 风格的HTML文本转义
2009/07/01 Javascript
javascript来定义类的规范小结
2010/11/19 Javascript
框架页面高度自动刷新的Javascript脚本
2013/11/01 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
node.js解决获取图片真实文件类型的问题
2014/12/20 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
2018/03/28 jQuery
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
Vue2.0 v-for filter列表过滤功能的实现
2018/09/07 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
如何阻止小程序遮罩层下方图层滚动
2019/09/05 Javascript
jQuery实现的上拉刷新功能组件示例
2020/05/01 jQuery
JavaScript实现移动小精灵的案例代码
2020/12/12 Javascript
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
python之wxPython菜单使用详解
2014/09/28 Python
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
UNIX文件类型
2013/08/29 面试题
档案管理员岗位职责
2013/12/01 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
事务机电主管工作职责
2014/02/25 职场文书
家长会演讲稿
2014/04/26 职场文书
留学生求职信
2014/06/03 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
Python中的 enumerate和zip详情
2022/05/30 Python