<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数组的方法们</title>
</head>
<body>
<script>
//.shift() 删除数组第一个元素,返回值是第一个元素的值
var a = [1,2,3,4,5,6,7];
var b = a.shift();
console.log(b) //1
console.log(a) //(6) [2, 3, 4, 5, 6, 7]
//.unshift() 把括号里的参数添加到数组前面,返回值是数组的长度
// ie6下测试返回值总为undefined, ff2.0下测试返回值为7 ,所以这个方法的返回值不可靠,需要返回值时可用splice代替本方法来使用
var c = [1,2,3,4,5,6,7];
var d = c.unshift(3,-1);
console.log(d);//9
console.log(c);//(9) [3, -1, 1, 2, 3, 4, 5, 6, 7]
//.pop() 删除数组最后一项,返回值是删除的那一项,如果数组是空,则返回 undefined
var e = [1,2,3,4,5,6,7];
var f = e.pop()
console.log(e); //(6) [1, 2, 3, 4, 5, 6]
console.log(f); // 7
//.push() 把括号中的元素添加到数组最后,返回值是数组长度
var g = [1,2,3,4,5,6,7];
var h = g.push('m')
console.log(g);//[1, 2, 3, 4, 5, 6, 7, "m"]
console.log(h);//8
//.cancat() 返回一个新数组,是将参数添加到原数组中构成的
var i = [1,2,3,4,5,6,7];
var j = i.concat(0,9);
console.log(i); //(7) [1, 2, 3, 4, 5, 6, 7]
console.log(j);//(9) [1, 2, 3, 4, 5, 6, 7, 0, 9]
//.splice(start,delCount,val1,val2,...)
var k = [1,2,3,4,5,6,7];
var l = k.splice(3,4,0,0); //从下标3开始,删除4项,并在删除位置往后插入val1,val2....
console.log(k);//[1, 2, 3, 0, 0]
console.log(l);//[4, 5, 6, 7]
//.reverse() 将数组反序,返回值是反过序的数组
var m = [1,2,3,4,5,6,7];
var n = m.reverse()
console.log(m);// [7, 6, 5, 4, 3, 2, 1]
console.log(n);// [7, 6, 5, 4, 3, 2, 1]
//.sort()给数组进行排序,返回值是排过序的数组
var o = [1,2,5,4,6,3,7];
var p = o.sort()
console.log(o);//(7) [1, 2, 3, 4, 5, 6, 7]
console.log(p);//(7) [1, 2, 3, 4, 5, 6, 7]
//.slice(start,end) 返回从原数组中指定开始下标到结束下标之间的项目组成的新数组
var q = [1,2,5,4,6,3,7];
var r = q.slice(3,5);
console.log(q);//[1, 2, 5, 4, 6, 3, 7] 原数组
console.log(r);//[4, 6] 截取到的数组
//.join(Sep) 将数组的元素组起一个字符串,以Sep为分隔符,如果省略的话,则用默认用逗号为分隔符
var s = [1,2,5,4,6,3,7];
var t = s.join('i')
var u = s.join()
console.log(s);//[1, 2, 5, 4, 6, 3, 7]
console.log(t);//1i2i5i4i6i3i7
console.log(u);//1,2,5,4,6,3,7
</script>
</body>
</html>