JavaScript数组的----方法操作(ES5-)---12种详解+理解大全!

<!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>
上一篇:ES5严格模式


下一篇:【JS】ES5数据类型-基本数据类型-引用数据类型-类型之间的转换-数据类型的判断