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

    构造数组
    var arr1 = new Array();
    var week = new Array(7);//可以省略new,长度为7
    var colors = new Array("red","blue","yellow");
    var colors = ["red","blue","yellow"];
    var arr2 = [];//空
     
    检测数组
    value instanceof Array
    Array.isArray(value)
     
    转换方法
    arr.toString();//返回字符串
    arr.valueOf();//返回数组
    arr.toLocaleString();//会调用每一项的toLocaleString()方法
     
    栈方法
    arr.push('str1','str2');//添加到末尾,参数不限,返回数组长度
    arr.pop();//移除末尾一项,返回移除的项,数组长度减一
     
    队列方法
    arr.shift();//移除并返回第一项,结合push可做队列使用
    arr.unshift();//在开始处添加任意项,返回新数组长度,结合pop,方向模拟队列
     
    重排序方法
    arr.sort();//升序排列,按字符串顺序
    arr.recerse();//降序
     
    function compare(value1,value2){
        if( value1 < value2 ){
            return -1;
        }else if(value1 > value2){//前面大于后面的
            return 1; //交换
        }else{
            return 0;
        }
    }
     
    //更简单的实现
    function compare(value1,value2){
        return value2-value1;
    }
     
    arr.sort(compare);//将比较函数传递到排序中,得到按数值的升序
     
    操作方法
    arr.concat();//可传入一个或多个数组,不是数组,则添加到末尾
    arr.slice(1);//从1开始到末尾的新数组
    arr.slice(1,4);//从1到3的新数组
     
    //splice()返回的是从原始数组中删除的项所组成的数组
    arr.splice(1,2);//删除第1项开始的2个项
    arr.splice(2,2,'newstr');//删除第2项开始的2项,再插入新的项,可以一个或多个,如果第二个参数为0,则仅插入
    位置方法
    //查找某一项第一次出现的位置,没找到返回-1
    arr.indexOf(4);//从位置0开始查找4的位置
    arr.lastIndexOf(4);//从末尾向前查找4的位置
     
    arr.indexOf(4,4);//从位置4开始向后查找4的位置
    arr.lastIndexOf(4,4);//从位置4开始向前查找4的位置
     
    迭代方法     
    //每个方法接受两个参数:给每一项操作的函数,作用域对象(可选,影响this的值)
    //传入函数的接受三个参数:数组项的值、该项在数组中的位置,和数组对象本身。
    //他们都不会修改数组中包含的值
     
    every() 给定函数对每一项返回true,则返回true
    filter() 返回函数返回值为true的项组成的数组
    forEach() 没有返回值
    map() 返会函数每次调用的结果组成的数组
    some() 给定函数对任意一项返回true则返回true
     
    var numbers = [ 1, 2, 3, 4, 5, 6, 7 ] ;
    var ereryResult = numbers.every( function(item, index, array ) {
        return ( item > 2 );
    } ) ;
    alert(everResult);//false
     
    缩小方法
    //两个参数:在每一项调用的参数,作为缩小基础的初始值(可选)
    //传入的函数接受4个参数:前一个值,当前值,索引值,数组对象。
    //每一次调用函数返回的值都作为第一个参数传给下一项,从数组第二项开始迭代
     
    var values = [1,2,3,4,5];
    var sum = values.reduce( function(prev,cur,index,array){
        return prev +cur;
    });
    alert(sum);//15
     
    //reduceRight()方向相反
     
     
     
  • 相关阅读:
    设计模式-工厂模式-场景以及优缺点-目的就是应对变化 (国江面试回答的)
    开启otl的64位长整数支持
    otl翻译(11) -- OTL的迭代器
    OTL翻译(10) -- OTL的流缓冲池
    OTL翻译(9) --常量的SQL语句
    OTL翻译(8) -- otl_long_string/otl_long_unicode_string类
    OTL翻译(7) -- otl_exception类
    OTL翻译(6) -- otl_connect类
    OTL翻译(5) -- otl_stream流相关绑定变量
    OTL翻译(4) -- otl_stream类
  • 原文地址:https://www.cnblogs.com/xiyouchen/p/9207295.html
Copyright © 2011-2022 走看看