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 相关文章推荐
JavaScript 弹出窗体点击按钮返回选择数据的实现
Apr 01 Javascript
jQuery+css实现百度百科的页面导航效果
Dec 16 Javascript
Bootstrap每天必学之标签与徽章
Nov 27 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
Jun 20 Javascript
AngularJS基础 ng-focus 指令简单示例
Aug 01 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
Dec 08 Javascript
JS数组排序方法实例分析
Dec 16 Javascript
AngularJS 验证码60秒倒计时功能的实现
Jun 05 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
Aug 03 Javascript
vue+mock.js实现前后端分离
Jul 24 Javascript
JavaScript WeakMap使用详解
Feb 05 Javascript
详解CocosCreator项目结构机制
Apr 14 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实现网站插件机制的方法
2009/11/10 PHP
自己写的php中文截取函数mb_strlen和mb_substr
2015/02/09 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
2016/02/19 PHP
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
2010/03/20 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
JavaScript暂停和继续定时器的实现方法
2016/07/18 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
DOM事件探秘篇
2017/02/15 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
原生js封装运动框架的示例讲解
2017/10/01 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
vue中关闭eslint的方法分析
2018/08/04 Javascript
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
Python中encode()方法的使用简介
2015/05/18 Python
详解python中的文件与目录操作
2017/07/11 Python
Python实现的栈(Stack)
2018/01/26 Python
使用Python实现一个栈判断括号是否平衡
2018/08/23 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
Django重设Admin密码过程解析
2020/02/10 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
CSS3中几个新增加的盒模型属性使用教程
2016/03/01 HTML / CSS
劳动竞赛活动方案
2014/02/20 职场文书
明信片寄语大全
2014/04/08 职场文书
2015新年联欢晚会开场白
2014/12/14 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
合作意向书范本
2019/04/17 职场文书
Python基础之元类详解
2021/04/29 Python
使用Python解决图表与画布的间距问题
2022/04/11 Python