<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="box"></div>
</body>
<script>
// ==============(ES5-)数组的操作之方法===============
// 字面量方式创建的数组,length=6;
var arr = [ "a","b","c","d","e","f"];
console.log(arr);
// ======push=====
// 功能:末尾新增;
// 参数:要新增的数据;
// 返回值:新增后的数组的长度;
// 是否改变原数组:是。
// var res = arr.push( "hello","world" );
// console.log(res); //8---新增后的数组的长度
// console.log(arr);
// //["a", "b", "c", "d", "e", "f", "hello", "world"]---新增后的数组
// ======unshift=====
// 功能:首位新增;
// 参数:要新增的数据;
// 返回值:新增后的数组的长度;
// 是否改变原数组:是。
// var res = arr.unshift( "hello","world" );
// console.log(res); //8---新增后的数组的长度
// console.log(arr);
// //["hello", "world", "a", "b", "c", "d", "e", "f"]---新增后的数组
// ======shift=====
// 功能:首位删除;
// 参数:无;
// 返回值:返回删除的数据;
// 是否改变原数组:是。
// var res = arr.shift();
// console.log(res); //a---返回删除的数据
// console.log(arr); //["b", "c", "d", "e","f"]---返回删除后的新数组
// =========pop========
// 功能:末尾删除;
// 参数:无;
// 返回值:返回删除的数据;
// 是否改变原数组:是。
// var res = arr.pop()
// console.log(res); //f---返回删除的数据
// console.log(arr); //["a", "b", "c", "d", "e"]---返回删除后的新数组
// ======splice=====
// 功能:删除并替换;
// 参数:
// 参数1:选择删除的起点(包括);
// 参数2:删除的个数;
// 参数3:在删除位置新插入的数据1;
// 参数2:在删除位置新插入的数据2;
// ...
// 参数n:在删除位置新插入的数据n;
// 注意:当参数2为0时,参数3插入起点(参数1)原位置,起点后移。
// 返回值:返回删除的数组;
// 是否改变原数组:是。
// var res = arr.splice(2,3,"hello")
// console.log(res); //["c", "d", "e"]---返回删除的数组
// console.log(arr); //["a", "b", "hello", "f"]---改变后的新数组
// =======slice======
// 功能:截取指定位置的数据;
// 参数:
// 参数1:截取数据的起点位置(包括);
// 参数2:截取数据的终点位置(不包括);
// 返回值:截取的新数组;
// 是否改变原数组:否。
// var res = arr.slice(2,5);
// console.log(res); //["c", "d", "e"]---截取的新数组
// console.log(arr); //["a", "b", "c", "d", "e", "f"]---原数组
// ========sort=======
// 功能:排序,(默认排序规则为字符的排序);
// 参数:函数;
// 这个函数又接受了两个参数m和n;
// 这个函数需要有返回值,且返回值为两个参数之差;
// m-n时,升序;
// n-m时,降序。
// 返回值:排序后的数组;
// 是否改变原数组:是。
// var arr2 = [13,1,14,12,156,27];
// console.log(arr2); //[13, 1, 14, 12, 156, 27]---原数组
// var res = arr2.sort(function(m,n){
// return n-m;
// });
// console.log(res); //[156, 27, 14, 13, 12, 1]---排序后的数组
// console.log(arr2); //[156, 27, 14, 13, 12, 1]---排序后的新数组
// ======concat=====
// 功能:用于连接两个或多个数组;
// 参数:copy后的副本的尾部新增的数据;
// 返回值:copy后的副本-尾部被连接后的-新数组;
// 是否改变原数组:否。
// var arr1 = [1,2,3]
// var arr2 = arr1.concat();
// console.log(arr1); //[1,2,3]---原数组
// console.log(arr1 === arr2); //false
// console.log(arr2); //[1,2,3]---原数组的副本
// var res = arr1.concat("hello","world");
// console.log(res); //[1,2,3,"hello","world"]
// var res = arr1.concat(["a","b"],[[3,4],{"name":"admin"}])
// console.log(arr1.concat(res));
// //[1,2,3,"a","b",[3,4],{"name":"admin"}]
// console.log(arr1); //[1,2,3]---原数组未改变
// ======join=====
// 功能:根据指定分隔符,将数组中的所有元素放入一个字符串;
// 参数:任意(默认为逗号",");
// 返回值:分隔符连接后的字符串;
// 是否改变原数组:否。
// var arr = [1,2,3];
// console.log(arr.join()); //1,2,3---默认值为","连接
// console.log(arr.join("-")); //1-2-3---分隔符"-"连接后的字符串
// console.log(arr); //[1,2,3]---原数组未改变
// ======toString=====
// 功能:转换成字符串;
// 参数:无,(默认为逗号",");
// 返回值:逗号","连接后的字符串;
// 是否改变原数组:否。
// var arr = [1,2,3];
// console.log(arr.toString()); //1,2,3---默认值为","连接
// console.log(arr); //[1,2,3]---原数组未改变
// ======reverse=====
// 功能:颠倒数组中元素的顺序;
// 参数:无;
// 返回值:颠倒顺序后的新数组;
// 是否改变原数组:是。
// var arr = [1,3,2,5,8];
// console.log(arr.reverse()); //[8, 5, 2, 3, 1]---颠倒顺序后的新数组
// console.log(arr); //[8, 5, 2, 3, 1]---原数组改变
// ======valueOf=====
// 功能:返回数组的原始值;
// 参数:无;
// 返回值:原数组;
// 是否改变原数组:否。
// 注意:一般在js后台调用,并不显式的出现在代码中。
// var arr = [1,3,2,5];
// console.log(arr.valueOf()); //[1,3,2,5]---颠倒顺序后的新数组
// console.log(arr); //[1,3,2,5]---原数组改变
</script>
</html>