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 快捷键设置实现代码
Mar 13 Javascript
Js制作点击输入框时默认文字消失的效果
Sep 05 Javascript
Javascript的表单验证-提交表单
Mar 18 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
Jun 13 Javascript
深入理解javascript中的 “this”
Jan 17 Javascript
纯JS实现只能输入数字的简单代码
Jun 21 Javascript
微信小程序 自定义消息提示框
Aug 06 Javascript
Bootstrap实现下拉菜单多级联动
Nov 23 Javascript
全新打包工具parcel零配置vue开发脚手架
Jan 11 Javascript
解决Layui 表单提交数据为空的问题
Aug 15 Javascript
JS实现简单的点赞与踩功能示例
Dec 05 Javascript
基于Node.js的大文件分片上传示例
Jun 19 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实现通过strace定位故障原因的方法
2018/04/29 PHP
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
JavaScript 无符号右移运算符
2009/04/17 Javascript
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
2014/01/09 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
jquery提示效果实例分析
2014/11/25 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
2015/06/23 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
vue项目部署上线遇到的问题及解决方法
2018/06/10 Javascript
vue.js 实现点击展开收起动画效果
2018/07/07 Javascript
百度小程序之间的页面通信过程详解
2019/07/18 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
TensorFlow实现创建分类器
2018/02/06 Python
Python之列表的插入&amp;替换修改方法
2018/06/28 Python
Python框架Flask的基本数据库操作方法分析
2018/07/13 Python
简单谈谈python基本数据类型
2018/09/26 Python
Python3字符串encode与decode的讲解
2019/04/02 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
通过css3的filter滤镜改变png图片的颜色的示例代码
2020/05/06 HTML / CSS
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
自我鉴定怎么写
2013/12/05 职场文书
四风问题党员个人整改措施
2014/10/27 职场文书
公司停电通知
2015/04/15 职场文书
寻衅滋事罪辩护词
2015/05/21 职场文书
golang 比较浮点数的大小方式
2021/05/02 Golang
Redis入门基础常用操作命令整理
2022/06/01 Redis