JavaScript数据结构 持续更新中。。一周后可完结
Posted kkdf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript数据结构 持续更新中。。一周后可完结相关的知识,希望对你有一定的参考价值。
array:
数组创建:
var troop=new Array(6); //创建一个长度为6的数组 var troop=new Array(2,3,5,6,4,7);
数组方法:
var str="I love javascript"; var single=str.split(""); //‘I‘,‘ ‘,‘l‘,‘o‘,..... var mutipy=str.split(" "); //‘I‘,‘love‘,‘javascript‘ var troop=new Array(2,5,6,8,9,4,1,2); var index=troop.indexOf(2); //index=0 var names=[‘jack‘,‘mike‘,‘molly‘]; var str=names.join(); //str=‘jack,mike,molly‘ var nums=[]; nums.push(3,4); nums.shift(1,2); //nums=[1,2,3,4]; nums.pop(); //nums=[1,2,3]; nums.shift(); //nums=[2,3]; nums.splice(0,1,5,6) //nums=[5,6,3];
对数组元素进行操作(不产生新数组) var nums=[2,4,6,8]; function isEven(num){return num%2==0;}
function square(num){return num*num;}
nums.forEach(square); //对数组所有元素平方
var swit=nums.every(isEven); //判断数组元素是否均为偶数,若是,返回true;
产生新数组:
filter,map
二元数组:
for(var i=0;i<5;i++)
troop[i]=[];
栈和列表其实就是对数组和数组方法的封装,所以我省略不写。
链表:
var linkLIst=function(){ var Node=function(element){ this.element=element; this.next=null; }; this.length=0; this.head=new Node("head"); //定义链表头,长度,同时,定义了四个方法。 this.append=append; this.insert=insert; this.remove=remove; this.display=display; function append(element){ var newNode=new Node(element); //链表在末尾添加新节点,注意的是,node.next仍是node类型,故在添加新节点时要调用节点构造函数 var thisNode=this.head;
this.length++; if(thisNode.element==null) //在写循环语句或者判断语句的时候要注意,一个空节点是没有element元素的, { //因此要先确保thisNode为非空节点,该if判断语句才能正常运行,不然会报错。 thisNode.element=element; }else{ while(thisNode.next) { thisNode=thisNode.next; } thisNode.next=newNode; } }; function insert(elementbe,element){ var nodebe=this.head; this.length++; var insertNode=new Node(element); while(!(nodebe.element===elementbe)){ nodebe=nodebe.next; }; var nodeafter=nodebe.next; nodebe.next=insertNode; insertNode.next=nodeafter; }; function remove(element){ var nodeDelete=this.head; while(!(nodeDelete.next.element===element)) { nodeDelete=nodeDelete.next; }; var nodeAfter=nodeDelete.next.next; //next可叠加多次 nodeDelete.next=nodeAfter; }; function display(){ var thisNode=this.head; var str=""; while(thisNode){ str+=thisNode.element+" "; thisNode=thisNode.next; } return str; } }; var newlist=new linkLIst(); //如果调用构造函数为什么用new不太理解,可以参考上一篇博文我对this的简析 newlist.append("1");newlist.append("2");newlist.append("3");newlist.append("4");newlist.insert("3","5") var str=newlist.display(); alert(str);
以上是关于JavaScript数据结构 持续更新中。。一周后可完结的主要内容,如果未能解决你的问题,请参考以下文章