• JavaScript中Array数组的方法


    查找: indexOf、lastIndexOf

    迭代:every、filter、forEach、map、somereduce、reduceRight

    用法:

     1 /*
     2   1 查找方法:
     3  *  arr.indexOf( value )
     4  *     一个参数 返回value所在数组的位置下标
     5  *  找不到的时候返回-1
     6  * 
     7  *  arr.indexOf( start , value )
     8  *     从start开始查找value 返回下标
     9  *  找不到的时候返回-1
    10  * 
    11  *  arr.lastIndexOf( value )
    12  *      从后往前找 返回下标
    13  * 
    14  * 
    15  * 
    16  *2 迭代方法:
    17  *  arr.every(function(item , index , arr){
    18  *         return item > 2;    //如果每一项都大于2 就返回true 否则false
    19  * }) 
    20  *     传入函数 对每一项进行执行函数, 
    21  *     如果每一项都返回true 最后才返回true
    22  *     如果有一个返回false 最后就返回发false
    23  * 
    24  *  arr.filter( function( item , index , arr ){
    25  *         return item > 2;    //把大于2的数组元素返回
    26  * } ) 
    27  *         传入一个函数对每一个元素执行
    28  *         结果是真的元素就返回
    29  *         
    30  * arr.forEach(function(item , index , arr){
    31  *         alert(item)
    32  * })
    33  *         提供一个循环方法
    34  *         每一个元素都执行一下function
    35  * 
    36  * arr.map(function(item , index , arr){
    37  *         return item * 2 ;
    38  * })
    39  *         对arr每一项都执行函数 然后返回执行结果
    40  * 
    41  * 
    42  * arr.some(function(item,index,arr){
    43  *     
    44  *         retrn item > 2;
    45  * })
    46  *         对arr中每个元素进行判断,
    47  *         有一个返回true 则最后返回true
    48  *         如果全都是false 最后返回false
    49  * 
    50  * 
    51  * 
    52  * arr.reduce( function(prev , cur , index , array){
    53  *         // 钱一个值 当前值 索引位置 数组
    54  *         return prev + cur;
    55  * })
    56  *  对数组中每个元素进行相加最后返回
    57  * 
    58  * 
    59  * 
    60  * arr.reduceRight(  )
    61  *    对数组从右侧向左进行执行 返回最后的结果       
    62  * 
    63  * 
    64  * 
    65  * 
    66  * 
    67  * 
    68  * 
    69  * 
    70  * */

    添加:push、pop、shift、unshift 

    截取splice、slice

    操作:concat、join、reverse、sort

    用法:

     1 // 数组的创建方式
     2 // 1 不推荐
     3 // var arr = new Array();
     4 //2 推荐 js种数组内部数据类型可以不一样
     5 var arr = [1,2,3,4,true,"abc",new Date() ];
     6 //alert(arr.length);
     7 //js中的数组可以随意改变长度 元素类型任意
     8 arr.length = 5;
     9 alert(arr);
    10 
    11 /*
    12  *数组的常用方法
    13  * 1 数组添加 删除元素
    14  *  result = arr.push(value1,value2,value3,....) 向数组添加元素  返回值 新数组的长度
    15  *  result = arr.pop() 返回数组尾部的元素并移除
    16  *     
    17  *  result = arr.shift() 从头部移除一个元素 并把头部元素返回
    18  *  result = arr.unshift(a,b,c,d,e....)  从头部插入一些元素   返回新数组长度
    19  * 
    20  * 2 数组截取
    21  *  arr.splice(1,2,3,4,5) 
    22  *  数组的截取方法: 改变数组本身
    23  *         第一个参数表示 起始位置
    24  *         第二个参数表示 要截取的个数
    25  *         第三个参数之后作为一个子数组会从截取的位置插入数组
    26  *  arr.splice(1) 1后面元素全都截掉
    27  *  arr.splice(1,2) 从1号下标元素开始 删去两个元素
    28  * 
    29  *  
    30  *  result = arr.slice(2,3)
    31  *     截取操作 第一个参数是截取的起点,第二个参数是end  左闭右开的截取
    32  *  将截取的结果返回 不 改变数组本身
    33  * 
    34  * 
    35  * 3 数组操作方法
    36  *  
    37  *  result = arr1.concat(arr2)
    38  *         将arr1和arr2进行拼接返回
    39  *         不改变数组本身
    40  *  
    41  *  result = arr.join("-")
    42  *         在每个元素之间添加一个 - 符号 并返回
    43  * 
    44  *     arr.reverse() 反转数组顺序
    45  *         改变数组本身
    46  * 
    47  *  arr.sort() 正序排序 
    48  *         但是把每一个值按照字符串 一个字节一个字节比较 
    49  *         比如10和4比较,会觉得1比4小 10会排在前面
    50  *         改变数组本身
    51  *   如果想正确的排序 需要自己写一个方法传入sort()
    52  * 例如 
    53  *  function compare(value1 , value2){
    54  *          if(value1 < value2){
    55  *             return -1;
    56  *         }else if(value1 > value2){
    57  *             return 1;
    58  *         }else{
    59  *             return 0;
    60  *         }    
    61  *     }
    62  * 然后再调用 arr.sort(compare)
    63  * 这样就能按照我们想要的正常的正序进行排序了
    64  * 
    65  * */
  • 相关阅读:
    solr服务中集成IKAnalyzer中文分词器、集成dataimportHandler插件
    Solr_全文检索引擎系统
    MySQL设置字段的默认值为当前系统时间
    mybatis_常用标签
    mybatis_映射查询
    Vue核心知识——computed和watch的细节全面分析
    nrm的安装与使用
    Windows下安装及使用NVM
    github仓库添加MIT许可
    ES6——箭头函数与普通函数的区别
  • 原文地址:https://www.cnblogs.com/Lin-Yi/p/7427075.html
Copyright © 2020-2023  润新知