zoukankan      html  css  js  c++  java
  • js 数组常用的操作函数整理

    平时多做企业应用开发,抱着实用为主,对前端技术理解得比较肤浅,下面就是肤浅地对 js 数组的属性和方法及对它操作的 jquery 方法做些记录;

    js 数组是 js 内建的一个非常强大数据类型,由于 js 是弱类型语言,所以一个数组可以保存多种类型的数据: 数字、字符串、对象、函数、布尔... ...;

    var arr = [1,{name:'Jonh',id:1001}, function(){console.log('test');},'hello world',true]; 

    常用访问数组元素的方法:

    for 和 for-in 在循环时,如果数组大小做了改变,使用起来会有所区别;

    var testArr1 = [1,2,3,4,5];
    
    // for,  因为 testArr1.length 是一个常数 5, 循环过程 testArr1 大小变了,循环次数还是 5;
    for(var i = 0; i < testArr1.length; ++i){
        if(i == 3) testArr1.push(6); // 添加一个元素;
        console.log(testArr1[i]); // 访问不到新加的元素 6; 
    }
    
    
    var testArr2 = [1,2,3,4,5]; 
    
    // for-in 如果循环过程中 testArr2 的大小变了, i 如果大于了改动后的 testArr2.length,会马上终止循环
    for(var i in tsetArr2){
      if(i==3)testArr2.push(6); // 添加一个元素; 
      console.log(testArr2[i]); // 可访问到新加的元素 6;    
    }

    jquery 循环: $.each, $.grep, $.map 与 for 最大不同是循环过程不能退出,即一定会访问数组中的每个元素到结束;而for 可以用 break 中断循环;

    var testArr = [1,2,3];
    
    //访问数组元素;
    $.each(arr,function(index,elem){
    });
    
    // 返回符合条件的元素,组成一个新的数组;
    //注意 function(elem,index) 第一个实参是元素,第二个才是元素的索引
    var newArr = $.grep(arr,function(elem,index){
         //condition
         return elem==1 or elem ==2; 
    });
    // newArr is [1,2]
    
    
    // 返回任意新的数组元素,组成 一个新的数组;
    var newArr = $.map(arr,function(index,elem){
        return 'test-' + index;
    });
    // newArr is ['test-1','test-2','test-3']; 

     识别数组:

    // 数组是一种特殊的 object 类型,typeof 拿到的只是 object; 
    typeof arr; // => object
    
    // 可用下面 2 种方法判断对象是否为数组
    arr.constructor.toString().indexOf('Array') > 0
    // 
    Object.prototype.toString.call(arr) == '[object Array]'

    常用方法:

    // join 将数组中的元素组合成一个字段串,元素之间用指定的字符串连接起来;
    arr.join(','); //"1,[object Object],function (){console.log('test');},hello world,true"
    
    // push 向数组添加新的元素, 数组改变;
    arr.push('new'); 
    
    // pop 弹出最后一个元素,数组改变;
    arr.pop(); // 'new'
    
    // slice(startIdx, count) 获取数组中一段连续的元素,组成一个新的数组;startIdx 开始索引,count 数量;
    arr.slice(0,1); //[1]; 
    
    // splice(startIdx,count,otherElems)  有强大的功能,包括: 插入,替换,删除;startIdx 开始索引, count (替换,删除)数量, 数组改变并返回一个新的数组;
    // 替换
    var testArr = [1,2,3,4,5]; 
    var retArr = testArr.splice(0,2,7,8,9);//retArr is [1,2], testArr is [7,8,9,3,4,5], "7,8,9" 是替换 "1,2"; 
    // 删除,省略 otherElems 就是删除
    var testArr = [1,2,3,4,5]; 
    testArr.splice(0,2); // testArr is [3,4,5]; 
    //插入,将 count =0 ,即不作替换直接插入
    var testArr = [1,2,3,4,5];
    testArr.splice(2,0,7,8,9); //testArr is [1,2,7,8,9,3,4,5]; 
  • 相关阅读:
    PLSQL Developer使用技巧整理
    PLSQL DEVELOPER 使用的一些技巧【转】 .
    MYEclipse Available Memory is low 警告 解决方法
    myeclipse安装svn插件的多种方式
    MySql的存储过程和触发器
    springmvc学习及源码地址
    spring源码下载链接
    struts2源码下载链接
    个人总结的常用java,anroid网站
    Java生成扫描可以生成手机号名片的二维码
  • 原文地址:https://www.cnblogs.com/grissom007/p/4369854.html
Copyright © 2011-2022 走看看