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获取地址栏参数
Dec 22 Javascript
键盘 keycode的值 javascript时触发事件时很有用的要素
Nov 02 Javascript
jQuery的attr与prop使用介绍
Oct 10 Javascript
浅析IE10兼容性问题(frameset的cols属性)
Jan 03 Javascript
jQuery获得指定元素坐标的方法
Apr 14 Javascript
jQuery事件绑定用法详解
Sep 08 Javascript
JS中作用域和变量提升(hoisting)的深入理解
Oct 31 Javascript
bootstrap表单示例代码分享
May 18 Javascript
vue项目tween方法实现返回顶部的示例代码
Mar 02 Javascript
Javascript 之封装(Package)
Sep 14 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
Sep 10 Javascript
小程序中的箭头函数的具体使用
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(4) php 函数 补充2
2010/02/15 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
PHP的命令行命令使用指南
2015/08/18 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
js利用div背景,做一个竖线的效果。
2008/11/22 Javascript
ExtJS 2.0实用简明教程之应用ExtJS
2009/04/29 Javascript
仅IE6/7/8中innerHTML返回值忽略英文空格的问题
2011/04/07 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
jquery操作checked属性以及disabled属性的多种方法
2014/06/20 Javascript
基于jQuery实现搜索关键字自动匹配功能
2020/03/26 Javascript
全面理解闭包机制
2016/07/11 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
js中DOM事件绑定分析
2018/03/18 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
[52:39]完美世界DOTA2联赛PWL S3 CPG vs Forest 第一场 12.16
2020/12/17 DOTA
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
python3第三方爬虫库BeautifulSoup4安装教程
2018/06/19 Python
python 实现矩阵按对角线打印
2019/11/29 Python
基于python 取余问题(%)详解
2020/06/03 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
关于Assembly命名空间的三个面试题
2015/07/23 面试题
餐饮业员工工作决心书
2014/03/11 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
职务任命书范本
2014/06/05 职场文书
我是一名护士演讲稿
2014/08/28 职场文书
领导批评与自我批评范文
2014/10/16 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
Prometheus 监控MySQL使用grafana展示
2021/08/30 MySQL
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python