美文网首页
【转】JavaScript中15种数组的使用方法总结

【转】JavaScript中15种数组的使用方法总结

作者: 囍冯总囍 | 来源:发表于2020-09-21 18:20 被阅读0次

    转载自:JavaScript中15种数组的使用方法总结_anqiaoyun的博客-CSDN博客

    本文总结了JavaScript中的15种数组的使用方法,
    如果需要ES6中的数组使用的方法:findfiltereverysomeincludesreduce,请点击这里

    1.push 向数组的后面添加一项或多项
    参数可以是一个也可以是多个,
    返回值为新数组的长度
    修改原数组

    var ary = [1,2];
    var num = ary.push('a');
    console.log(num); //3
    console.log(ary); //[1, 2, "a"]
    
    

    2.pop 删除数组的最后一项
    没有参数
    返回值为被删除的项
    修改原数组

    var ary = ["a", "b",1,2];
    var a = ary.pop();
    console.log(ary);//["a", "b", 1]
    console.log(a); //2
    
    

    3.unshift 往数组的前面添加一项或多项
    参数可以是一个也可以是多个
    返回值为新数组的长度
    修改原数组

    var ary = ["a", "b",1,2];
    var num = ary.unshift('3','4');
    console.log(num); //6
    console.log(ary); //["3", "4", "a", "b", 1, 2]
    
    

    4.shift 删除数组的第一项
    不需要参数
    返回值为被删除的那一项
    修改原数组

     var ary = ["a", "b","c","d"];
     var ary1 = ary.shift();
    console.log(ary1); //a
    console.log(ary); //["b", "c", "d"]
    
    

    5.splice 可以往数组的某一个位置添加一项或多项,还可以删除和替换项
    返回值是个数组,数组中为被删除的项
    修改原数组
    参数:
    1个参数,ary.splice(0),从0开始删除到最后
    2个参数,ary.splice(1, 2), 1是索引,2删除的个数
    多个参数,ary.splice(1, 2, “x”, “y”…),1是索引,2是删除的个数,“x”,“y”,…添加到原来删除的位置;

    6.indexOf 返回字符串或数组中检索指定字符第一次出现的位置,不存在返回下标-1,存在返回第一次匹配的索引值
    参数:被查询的项;
    返回值:第一次匹配的索引;不存在返回下标-1;
    不修改原数组;

    7.lastIndexOf 返回字符串或数组中检索指定字符最后一次出现的位置,不存在返回下标-1,存在返回第一次匹配的索引值
    参数为被查询的项
    返回值:索引值,不存在返回下标-1
    不修改原数组

    var array = ['abc','def','xyz','def'];
    var f = array.indexOf('def');
    var l = array.lastIndexOf('def');
    console.log(f); //1
    console.log(l); //3
    console.log(array); //["abc", "def", "xyz", "def"]
    
    

    8.slice 截取
    返回值为截取的数组
    不修改原数组
    没有参数表示数组的克隆
    参数为负数时,默认加上数组的长度处理成正数

    var arr = [1,2,3,4,5,6,7];
    var newarr = arr.slice(1,5);  //包前不包后
    var newarr1 = arr.slice(-3,-1);
    console.log("arr" + arr);   //1,2,3,4,5,6,7
    console.log("newarr" + newarr); //2,3,4,5
    console.log("newarr1" + newarr1);
    
    

    9.sort 排序 修改原数组
    返回值为排序后的数组
    没有参数时只能排序数组成员项是相同位数的数字

    var arr = [1,100,33,77,500,66];
    arr.sort();
    console.log(arr);//[1, 100, 33, 500, 66, 77]
    
    arr.sort(function(a,b){
        //从小到大排
        return a-b;
        //从大到小排
        return b-a;
     });
    console.log(arr);
    
    

    10.reverse 倒序 不需要传参数
    修改原数组

    var arr = [1,100,33,77,500,66];
    arr.reverse();
    console.log(arr);
    
    

    11.concat 不修改原数组,返回值为拼接的新数组

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

    concat不传参数时表示数组的克隆

    var arr2 = [1,3,5];
    var arr3 = arr2.concat();
    console.log(arr2 == arr3);  //false
    console.log(arr2);//[1, 3, 5]
    console.log(arr3); //[1, 3, 5]
    
    
    //这也是复制数组的方法
    var arr4 = [100,200,300];
    var arr5 = arr4;
    console.log(arr4 == arr5); //true
    console.log(arr5);
    
    

    12.join 将数组拼接成字符串,
    不修改原数组

    var ary = ['2019','06','10']
    var ary1 = ary.join("-")
    console.log(ary1);//2019-06-10
    
    

    不传参数时默认用逗号隔开

    var ary2 = ary.join();
    console.log(ary2);//2019,06,10
    
    var ary3 = ary.join("");
    console.log(ary3);//20190610
    
    

    13.map 映射 根据原来数组的每一项映射一个新数组
    参数为一个回调函数
    返回值为映射得到的新数组,不修改原数组
    数组的length是几,回调函数就执行几次

    var ary = ["a","b","c","d","e"];
    var ary1 = ary.map(function(v,i,arr){ 
        //v value  遍历数组的每一项
        console.log(v);
        //i index  遍历数组的索引
        console.log(i);
        //arr 原数组
        console.log(arr);
    
        return v+'o'; //["ao", "bo", "co", "do", "eo"]
        //返回值为新数组中对应的每一项
    });
    console.log(ary1);
    
    

    14.forEach 用来遍历数组
    参数为一个回调函数
    特点:没有返回值 不修改原数组
    数组的length是几,回调函数就执行几次

    var arry = [11,22,33,44];
    var arry1 = arry.forEach(function(v,i,arr){
         //v value  遍历数组的每一项
        console.log(v);
        //i index  遍历数组的索引
        console.log(i);
        //arr 原数组
        console.log(arr);
    
         return v+'o'; //没有返回值
     });
    console.log(arry1); //undefined
    
    

    forEach相当于for循环

    for (var i = 0; i < arry.length; i++) {
        arry[i];
        i;
        arry;
    }
    
    

    15.toString 将数组转化成字符串 不修改原数组
    不需要参数,返回值是一个字符串

    var array = ["q","w","e","r"];
    var array1 = array.toString();
    console.log(array1);//q,w,e,r
    
    

    注意啦:
    类数组不能使用数组的方法
    类数组指arguments,document.getElementsByTagName获取的类数组

    相关文章

      网友评论

          本文标题:【转】JavaScript中15种数组的使用方法总结

          本文链接:https://www.haomeiwen.com/subject/lgfbyktx.html