javascript 数组操作函数

join()


    拼接函数
    string str = Array.join("op") ;所有元素转换为字符串并由op拼接在一起,返回拼接字符串
 

reverse()


    翻转函数(修改原数组,返回逆序的数组)
    var a=[1,2,3]
    var reverseArr = a.reverse();//a=[3,2,1]    
 

sort()


    排序函数
    sort():默认按照字母表顺序进行排序
    sort(sortfunction(a,b){ return compare(a,b); });
    sort((a,b)=>{return compare(a,b)});//lamda表达式    


concat()


    创建并返回一个数组,不会修改调用的数组
    连接的是数组的元素,而非数组本身
    eg:
    var a=[1,2,3];
    a.concat(4,[5,[6,7]]);//返回[1,2,3,4,5,[6,7]]


slice(startindex,endindex)

:返回指定数组的一个片段或者子数组


    只有一个参数表示从起始位置到数组结尾
    参数为负数表示相对于数组最后一个元素的位置的相对位置
    -1:指定最后一个元素


splice(startindex,deleteNumb,insertData)


    删除与插入数组的元素
    返回删掉的子数组,修改原数组
    插入的是数据本身,对于数组不会遍历元素,而是原样插入
    a=[1,2,3,4,5,6]    a.splice(2,2,[a,b],w)//返回删除的字符串[3,4],a=[1,2,[a,b],w,5,6]


push()/pop():数组尾追加一个或者删除一个元素,修改并替换原始数组


push():返回值为数组的length


pop():返回值为删除数组的元素

unshift()/shift()

:数组头部操作,插入或者删除,整体插入,两个函数的返回值不同


unshift()

:在数组的头部添加一个或者多个元素,并将已存在的元素移动到更高索引的位置来获得足够的空间,最后返回数组的长度


shift()

:删除数组的第一个元素并返回删除的值,然后将数组所有随后的元素下移一个位置填补头部的空缺,length会变化

遍历:


foreach(element,index,a):

不可以break,除非将foreach放在try块中,抛出break异常,可以修改原数组
    function foreach(a,f,t){
        try{
            a.foreach(f,t);
        }catch(e){
            if(e===foreach.break) return;
            else 
                throw e;
        }
    }
    foreach.break = new Error("stop Iteration");
映射:


map:

将数组的每个元素传递给指定的函数,并返回一个数组,不修改原数组

filter():

数组的子集,参数为逻辑判断函数,逻辑判断函数返回值为true时,就是返回的子集元素,返回的数组总是稠密的

every()/some():

逻辑判断函数,返回值为true/false

  • every()是对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true。
  • some()是对数组中每一项运行给定函数,如果该函数对任一项返回true,则返回true。
  • some一直在找符合条件的值,一旦找到,则不会继续迭代下去。 
  • every从迭代开始,一旦有一个不符合条件,则不会继续迭代下去。

reduce()/reduceRight():

数组的组合,生成单个值,并返回这个值
两个参数:    第一个:执行化简操作的函数
            第二个(可选):传递给第一个参数函数的初始值
            
            var sum = a.reduce(function(x,y){return x+y},0);求和
            var product=a.reduce(function(x,y){return x*y},1);求积
            var max = a.reduce(function(x,y){return x>y?x:y});最大值
            空数组,不带初始值参数调用reduce会导致类型错误异常
            对于只有一个元素的数组,如果不带初始值参数调用reduce仅返回第一个元素的值
            对于空数组,带参数调用reduce仅返回初始值

发布了83 篇原创文章 · 获赞 38 · 访问量 23万+

猜你喜欢

转载自blog.csdn.net/mao_mao37/article/details/103953065