栈方法(后进先出)
join()
join() 数组转换为字符串 join可以使用不同的分隔符来构建字符串.join()方法只接收一个参数,即用作分隔符的字符串,然后返回包含所有数组项的字符串:
var colors = ['green','red','bule']
console.log(colors.join(",")); // green,red,bule
console.log(colors.join("||"); // green||red||bule
如果不给join()方法传入任何值,或者给它传入undefined,则使用逗号作为分隔符 如果数组中的某一项值是null或者undefined,那么该值在join(),toLocaleString(),String()和valueOf()方法返回的结果中以空字符串表示.
push() pop()
push()方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度.
而pop()方法则从数组末尾移除最后一项,减少数组的length值,然后返回移除的项.
var colors = [];
var count = colors.push('red','green');
console.log(count); // 2
count = color.push('black')
console.log(count); // 3
var item = colors.pop()
console.log(item); // 'black'
console.log(item.length); // 2
队列方法(先进先出)
shift()
移除数组中的第一项并返回该项,同时将数组长度减1.
var colors = [];
var count = colors.push('red','green');
console.log(count); // 2
count = colors.push('black')
console.log(count); // 3
var item = colors.shift()
console.log(item); // 'red'
console.log(item.length); // 2
unshift()与shift()用途相反 在数组前端添加任意个项并返回欣数组长度.
var colors = [];
var count = colors.unshift('red','green'); // 推入两项
console.log(count); // 2
count = colors.unshift('black')console.log(count); // 3
var item = colors.pop()
console.log(item); // 'green'
console.log(colors.length); // 2
sort()重排序方法
默认情况下,sort()方法按升序排列数组项--即最小值位于最前面,最大的值排在最后面.
为了实现排序,sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,以确定如何排序.即使数组中的每一项都是数值,sort()的也是字符串
var arr = [0,1,5,10,15]
arr.sort();
console.log(arr) //[0, 1, 10, 15, 5]
数值5小于10,但进行字符串比较 '10'则位于'5'的前面,这种排序方式在很多情况下都不是最佳方案.因此sort()方法可以接收一个比较函数作为参数,以便指定哪个值位于哪个值的前面
升序
var arr = [0,1,5,10,15]function compare(val1,val2) { return val1 - val2;}arr.sort(compare);
console.log(arr) //[[0, 1, 5, 10, 15]]降序
var arr = [0,1,5,10,15]
function compare(val1,val2) {
return val2 - val1;
}
arr.sort(compare);
console.log(arr) //[15, 10, 5, 1, 0]
reverse() 反转数组项的顺序
var arr = [1,2,3,4,5]
arr.reverse();
console.log(arr) //[5,4,3,2,1]