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 removeChild 障眼法 可能出现的错误
Oct 06 Javascript
基于jQuery的简单的列表导航菜单
Mar 02 Javascript
表单元素的submit()方法和onsubmit事件应用概述
Feb 01 Javascript
js setTimeout 常见问题小结
Aug 13 Javascript
jquery 倒计时效果实现秒杀思路
Sep 11 Javascript
instanceof和typeof运算符的区别详解
Jan 06 Javascript
TypeError document.getElementById(...) is null错误原因
May 18 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
Aug 25 Javascript
javascript实现无缝上下滚动特效
Dec 16 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
May 17 Javascript
vue实现在线学生录入系统
May 30 Javascript
微信小程序实现点赞业务
Feb 10 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将会员数据导入到ucenter的代码
2010/07/18 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
2014/04/01 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
PHP购物车类Cart.class.php定义与用法示例
2016/07/20 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
Laravel框架查询构造器 CURD操作示例
2019/09/04 PHP
Javascript 中介者模式实例
2009/12/16 Javascript
函数式 JavaScript(一)简介
2014/07/07 Javascript
jquery实现相册一下滑动两次的方法
2015/02/09 Javascript
JS简单模拟触发按钮点击功能的方法
2015/11/30 Javascript
js实现简单排列组合的方法
2016/01/27 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
详解vue服务端渲染(SSR)初探
2017/06/19 Javascript
详解jquery选择器的原理
2017/08/01 jQuery
BootStrap 页签切换失效的解决方法
2017/08/17 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
微信小程序解析富文本过程详解
2019/07/13 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
Python实现股市信息下载的方法
2015/06/15 Python
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
Python学习笔记之错误和异常及访问错误消息详解
2019/08/08 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
浅谈pandas dataframe对除数是零的处理
2020/07/20 Python
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
NYX Professional Makeup官方网站:专业彩妆和美容产品
2019/10/29 全球购物
励志广播稿300字(5篇)
2014/09/15 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书
redis 存储对象的方法对比分析
2021/08/02 Redis
javascript Number 与 Math对象的介绍
2021/11/17 Javascript