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 表单的友好用户体现
Jan 07 Javascript
PPK 谈 JavaScript 的 this 关键字 [翻译]
Sep 29 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
Jul 10 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
Oct 29 Javascript
JS TextArea字符串长度限制代码集合
Oct 31 Javascript
input:checkbox多选框实现单选效果跟radio一样
Jun 16 Javascript
js获取字符串最后一位方法汇总
Nov 13 Javascript
XML文件转化成NSData对象的方法
Aug 12 Javascript
JS实现重新加载当前页面或者父页面的几种方法
Nov 30 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
Dec 29 Javascript
详解Vue内部怎样处理props选项的多种写法
Nov 06 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
Oct 15 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读取文件并可支持远程文件的代码分享
2012/10/03 PHP
PHP+MySQL删除操作实例
2015/01/21 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
jquery异步请求实例代码
2011/06/21 Javascript
JS实现一个列表中包含上移下移删除等功能
2014/09/24 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
详解能在多种前端框架下使用的表格控件
2017/01/11 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
Map.vue基于百度地图组件重构笔记分享
2017/04/17 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
vue-cli项目中使用echarts图表实例
2018/10/22 Javascript
[01:18:35]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS BO3 第一场 1月29日
2021/03/11 DOTA
Python实现的多线程端口扫描工具分享
2015/01/21 Python
python使用socket连接远程服务器的方法
2015/04/29 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
Python实现中值滤波去噪方式
2019/12/18 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
雅诗兰黛美国官网:Estee Lauder美国
2016/07/21 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
家具商场的活动方案
2014/08/16 职场文书
自愿解除劳动合同协议书
2014/09/11 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
食品药品安全责任书
2015/05/11 职场文书
花田少年史观后感
2015/06/16 职场文书
学校教学管理制度
2015/08/06 职场文书
《观潮》教学反思
2016/02/17 职场文书
python编程学习使用管道Pipe编写优化代码
2021/11/20 Python