zoukankan      html  css  js  c++  java
  • Javascript数组方法

    一、首尾操作(原数组会改变)

      1、push()在数组结尾添加

      返回值:添加后数组的长度

      2、pop()在数组结尾删除

      返回值:删除的对象

      3、unshift()在数组开头添加

      返回值:添加后数组的长度

      4、shift()删除数组第一项

      返回值:删除的对象

    二、splice()删除、插入、替换(原数组会改变)

      splice(index,howmany,element1,element2,......)

      参数:

        index:删除项的开始索引值

        howmany:删除的个数

        elements:表示插入或删除的元素

      index,howmany必须书写,elements可以省略

      返回值:删除的数据组成的数组,若没有删除就是空数组

      通过改变参数实现不同的功能

      1、splice(index,howmany)删除

      howmany不是0,同时没有书写elements

      案例: 

    //删除 splice(index,3)
    	//var arr1 = [1,2,3,4,5,6,7,8];
    	/*var arr2 = arr1.splice(2,3);//表示从索引为2的开始删除,删除3项
    	console.log(arr2);//返回的是删除数据组成的数组[3,4,5]
    	console.log(arr1);//原数组改变[1,2,6,7,8]
    	*/	
    

      2、splice(index,0,elements)插入

      howmany是0,同时书写了elements

      案例:

    //插入 splice(index,0,elements)
         //var arr1 = [1, 2, 3, 4, 5, 6, 7, 8];  /*var arr3 = arr1.splice(2,0,33,44,55)//表示从索引为2的开始,删除0项,插入33,44,55三个数据 console.log(arr3);//没有删除,返回空数组[] console.log(arr1);//原数组改变[1,2,33,44,55,3,4,5,6,7,8] */

      3、splice(index,howmany,elements)替换

      howmany不为0,同时书写了elements

      案例:

    //替换  splice(index,3,elements),删除的个数和elements个数可以不相同
         //var arr1 = [1, 2, 3, 4, 5, 6, 7, 8] /*var arr4 = arr1.splice(2,3,77,88);//表示从索引为2的开始删除3项,插入77,88 console.log(arr4);//返回散出的数据组成的数组[3,4,5] console.log(arr1);//原数组改变[1,2,77,88,6,7,8] */

    三、合并和拆分(原数组不会改变)

      1、concat()将多个数组合并成一个数组

      用法:arr1.concat(arr2);

      参数:合并的数组(可以是散的值,变量,数组字面量)

      返回值:合并后的新数组

    /*var arr1 = [1,2,3,4,5];
    var arr2 = [6,7,8];
    var arr3 = arr1.concat(arr2);
    console.log(arr3);//[1,2,3,4,5,6,7,8]
    console.log(arr1);[1,2,3,4,5]
    console.log(arr2);//[6,7,8]
    */

      2、slice()拆分

      slice(start,end)

      参数:第一个参数start表示截取数组开始的索引值,第二个参数表示截取数组结尾项的索引值

      截取的数组包含start,不包含end

      返回值:截取后的新数组 [start,end)

    //返回值:截取后的新数组(得到的数组包括start值,不包括end值)
    		/*var arr1 = [1,2,3,4,5,6,7,8,9];
    		//要截取3,4,5,本身截取是不包括第二个参数的值,可以往后推一位
    		var arr2 = arr1.slice(2,5);
    		console.log(arr2);//[3,4,5]
    		console.log(arr1);//[1,2,3,4,5,6,7,8]
    		*/
    

      参数start,end还可以书写负值,表示从倒数第一位开始数,倒数第一位索引为-1;同样含start,不含end

    /*var arr1 = [1,2,3,4,5,6,7,8,9];
     //start、end还可以书写负值,表示从倒数第一位开始数,从-1开始
    		//同样截取3,4,5
    		var arr3 = arr1.slice(-7, -4);//
    		console.log(arr3);
                    */
    

      还可以省略end不书写,表示截取到最后一位

    /*var arr1 = [1,2,3,4,5,6,7,8,9];
    //从下标为2的开始截取,截取到最后一位
    		var arr4 = arr1.slice(2);//表示从索引为2的开始截取到最后
    		console.log(arr4);//[3,4,5,6,7,8,9]
    */
    

    四、数组排序

      1、reverse()倒序(原数组改变)

    只是单纯的将数组中的数据顺序颠倒,不会比较大小

      参数:省略

      返回值:排序后的新数组

    案例:

    /*var arr = [1,34,3,14,2,6,3,9,56];
    var arr1 = arr.reverse();
    console.log(arr1);//[56,9,3,6,2,14,3,34,1]
    console.log(arr);//[56,9,3,6,2,14,3,34,1]
    */
    

      2、sort()排序(原数组改变)

    排序原理:将数组中每一项转换位字符串,按照字符串编码排序(多位数字或字符串只比较第一位);

    字符串编码排序:小写字母 > 大写字母 > 数字

      参数:一个函数,用于比较大小;可以不书写

      返回值:排序后的新数组

    不书写参数,案例;

    /*var arr = [1,34,3,84,"haha",6,2,true,56];
    		var arr2 = arr.sort();
    		console.log(arr2);//输出:[1, 2, 3, 34, 56, 6, 84, "haha", true]
    		console.log(arr);//输出:[1, 2, 3, 34, 56, 6, 84, "haha", true]
    	*/
    

    书写参数,案例:

    可以写一个函数用于比较大小;比较函数接收两个参数,如果第一个参数位于第二个参数后面,返回一个正值,如果两个参数相等,返回0,如果第一个参数位于第二个参数的前面,返回一个负值

    //升序
    var arr1 = [1,12,43,6,5,22,8,6];
    function sortNumber(a,b) {
    	if(a > b) {
    		return 1;
    	}else if(a == b) {
    		return 0;
    	}else if(a < b) {
    		return -1;
    	}
    }
    var arr2 = arr1.sort(sortNumber)
    console.log(arr2)//[1, 5, 6, 6, 8, 12, 22, 43]
    console.log(arr1)//[1, 5, 6, 6, 8, 12, 22, 43]
    
    //降序
    var arr1 = [1,12,43,6,5,22,8,6];
    function sortNumber(a,b) {
    	if(a > b) {
    		return -1;
    	}else if(a == b) {
    		return 0;
    	}else if(a < b) {
    		return 1;
    	}
    }
    var arr2 = arr1.sort(sortNumber)
    console.log(arr2)//[43, 22, 12, 8, 6, 6, 5, 1]
    console.log(arr1)//[43, 22, 12, 8, 6, 6, 5, 1]
    

    五、数组转换

      1、jion()用指定分隔符分割数组并转换为字符串

      参数:作为拼接符,不写参数,默认逗号连接

    var arr1 = [1,12,43,6,5,22,8,6];
    console.log(arr1.join("-"));//1-12-43-6-5-22-8-6
    console.log(arr1.join());//1,12,43,6,5,22,8,6
    console.log(arr1);// [1, 12, 43, 6, 5, 22, 8, 6]
    

      2、toSring()转换为字符串big返回

    var arr1 = [1,12,43,6,5,22,8,6];
    console.log(arr1.toString())//1,12,43,6,5,22,8,6
    

    六、遍历数组

    for(var 数组元素变量 in 数组)

    var arr1 = [1,12,43,6,5,22,8,6];
    for(var i in arr1) {
            console.log(i)
        }
  • 相关阅读:
    关于js的对象原型继承(一)
    js相关小技巧
    一、WCF学习之旅-创建第一个服务
    .net WebService方法之重载、支持Session、支持request请求和response格式的浅析
    关于反射的BindingFlag浅析
    oracle之TRUNC函数
    start with...connect by子句的浅用
    一个在windows电脑上控制比较全的文件夹的设置方式
    javascript的replace之正则表达式的浅析
    抓取错误之onerror
  • 原文地址:https://www.cnblogs.com/zjp-/p/9134706.html
Copyright © 2011-2022 走看看