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 相关文章推荐
js函数般调用正则
Apr 08 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
May 15 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
Oct 30 Javascript
Bootstrap作品展示站点实战项目2
Oct 14 Javascript
input框中的name和id的区别
Nov 16 Javascript
AngularJS中run方法的巧妙运用
Jan 04 Javascript
深入剖析Node.js cluster模块
May 23 Javascript
小程序中canvas的drawImage方法参数使用详解
Jul 04 Javascript
浅析微信小程序modal弹窗关闭默认会执行cancel问题
Oct 14 Javascript
vue实现的封装全局filter并统一管理操作示例
Feb 02 Javascript
JavaScript命令模式原理与用法实例详解
Mar 10 Javascript
详细谈谈JavaScript中循环之间的差异
Aug 23 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
配置支持SSI
2006/11/25 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
汇总PHPmailer群发Gmail的常见问题
2016/02/24 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
JS 建立对象的方法
2007/04/21 Javascript
JavaScript 事件对象的实现
2009/07/13 Javascript
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
原生JS轮播图插件
2017/02/09 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
Python 正则表达式操作指南
2009/05/04 Python
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
Python 批量读取文件中指定字符的实现
2020/03/06 Python
Python用5行代码实现批量抠图的示例代码
2020/04/14 Python
Python远程方法调用实现过程解析
2020/07/28 Python
详解python方法之绑定方法与非绑定方法
2020/08/17 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
群众路线教育实践活动方案
2014/02/02 职场文书
民族团结先进个人事迹材料
2014/06/02 职场文书
品牌服务方案
2014/06/03 职场文书
医德医风自我评价
2014/09/19 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android