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实现复制对象、扩展对象 类似jquery中的extend()方法
Aug 30 Javascript
jquery中键盘事件小结
Feb 24 Javascript
Javascript实现图片懒加载插件的方法
Oct 20 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
Feb 18 Javascript
canvas绘制环形进度条
Feb 23 Javascript
jQuery阻止移动端遮罩层后页面滚动
Mar 15 Javascript
详解如何让Express支持async/await
Oct 09 Javascript
对layui中的onevent 和event的使用详解
Sep 06 Javascript
小程序实现锚点滑动效果
Sep 23 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
Jul 21 Javascript
vue 遮罩层阻止默认滚动事件操作
Jul 28 Javascript
vue3.0生命周期的示例代码
Sep 24 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判断正常访问和外部访问的示例
2014/02/10 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
基于JQuery的多标签实现代码
2012/09/19 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
js操作table示例(个人心得)
2013/11/29 Javascript
DOM 事件流详解
2015/01/20 Javascript
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
基于javascript实现图片切换效果
2016/04/17 Javascript
JavaScript中的各种操作符使用总结
2016/05/26 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
完美解决JS文件页面加载时的阻塞问题
2016/12/18 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
使用Python中的greenlet包实现并发编程的入门教程
2015/04/16 Python
python杀死一个线程的方法
2015/09/06 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
Django 创建后台,配置sqlite3教程
2019/11/18 Python
Python内存映射文件读写方式
2020/04/24 Python
详解Python设计模式之策略模式
2020/06/15 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
企业授权委托书范本
2014/04/02 职场文书
大学新闻系自荐书
2014/05/31 职场文书
2015年班组长工作总结
2015/04/10 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书
python 实现两个变量值进行交换的n种操作
2021/06/02 Python