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 history对象简单实现返回和前进
Oct 30 Javascript
jQuery中removeAttr()方法用法实例
Jan 05 Javascript
JS实现控制表格行文本对齐的方法
Mar 30 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
Jun 14 Javascript
Bootstrap每天必学之导航
Nov 26 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
Sep 08 Javascript
Jquery实现上下移动和排序代码
Oct 17 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
May 12 Javascript
angular+ionic返回上一页并刷新页面
Aug 08 Javascript
微信小程序获取循环元素id以及wx.login登录操作
Aug 17 Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 Javascript
如何构建一个Vue插件并生成npm包
Oct 26 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实现与python进行socket通信的方法示例
2017/08/30 PHP
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
JavaScript自动设置IFrame高度的小例子
2013/06/08 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
AngularJS ng-template寄宿方式用法分析
2016/11/07 Javascript
input框中的name和id的区别
2016/11/16 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
JS定义函数的几种常用方法小结
2019/05/23 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
JS实现容器模块左右拖动效果
2020/01/14 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
一步步教你用Python实现2048小游戏
2017/01/19 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
Python 字符串换行的多种方式
2018/09/06 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
Django组件content-type使用方法详解
2019/07/19 Python
python3实现elasticsearch批量更新数据
2019/12/03 Python
浅析python表达式4+0.5值的数据类型
2020/02/26 Python
python 操作mysql数据中fetchone()和fetchall()方式
2020/05/15 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
英国首屈一指的票务公司:See Tickets
2019/05/11 全球购物
乌克兰巴士票购买网站:inBus
2021/03/12 全球购物
南京软件公司的.net程序员笔试题
2014/08/31 面试题
物业管理员岗位职责范文
2013/11/25 职场文书
服务生自我鉴定
2014/01/22 职场文书
党员公开承诺书
2014/03/25 职场文书
软件研发工程师岗位职责
2014/09/30 职场文书
个人查摆问题及整改措施
2014/10/16 职场文书
财务经理岗位职责
2015/01/31 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书