js数组栈、队列、重排序方法

栈方法

栈是一种LIFO(last-in-first-out,后进先出)的数据结构。
push()方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度;
pop()方法则是从数组末尾移除最后一项,减少数组的length值,然后返回移除的项。
例:

队列方法

队列数据结构的访问规则是FIFO(first-in-first-out,先进先出)。
shift()能够移除数组中的第一个项并返回该项,同时将数组长度减1;
unshift()能在数组前端添加任意个项并返回新数组的长度。
例:

重排序方法

reverse()方法用于颠倒数组中元素的顺序。

:该方法会改变原来的数组,而不会创建新的数组。

例:

sort()方法用于对数组的元素进行排序,sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,以确定如何排序。即使数组中的每一项都是数值,sort()方法比较的也是字符串。
arrayObject.sort([sortby])

:数组在原数组上进行排序,不生成副本。

sortby :规定排序顺序。必须是函数。
例:

js字符串的操作方法

字符串的分割方法在js中经常会用到,每次用的时候我都会去搜索一遍,很麻烦,今天特地整理了一下,方便今后查阅。

slice

stringObject.slice(start,[end])
返回一个新的字符串。包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
start如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

substring

stringObject.substring(start,[stop])
返回一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。
substring()的第二个参数是负数的话,例子中会把第二个参数转换为0,变为substring(3,0),这个方法会将较小的数作为开始位置,较大的数作为结束位置,相当于substring(0,3)。

substr(非标准)

stringObject.substr(start,[length])
返回一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 lenght 个字符。如果没有指定 lenght,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。

:IE负值会返回原始字符串
substr()的第二个参数是负数的话,也会把第二个参数转换为0,变为substr(3,0)。

slice(),substring(),substr()不会修改字符串本身的值
例:

split

stringObject.split(separator,[howmany])
separator:字符串或正则表达式,从该参数指定的地方分割 stringObject。
返回一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。
例: