• JavaScript基础之Array函数


    转载:原文http://jiajun.iteye.com/blog/390423
    一、 学好JavaScript的基础,Array类是必不可少的,也许你每天都在写JS,那么对于Array类,你到底用了多少呢?下面列举一下Array类内置的方法:
    1、构造方法:
    Js代码  收藏代码
    1. var a = new Array(); //创建Array对象  
    2. var a = new Array;//创建Array对象  
    3. var a = new Array(10);//创建Array对象,并指定数组中项的个数  
    4.   
    5. var a = new Array("a","b","c"); //数组a,b,c  
    6. var a = ["a","b","c"];//数组a,b,c  
    7.   
    8. var a =[["a","b","c"],[1,2,3]];//多维数组  

    2、toString、valueOf

    Js代码  收藏代码
    1. //把数组转化为","号隔开的字符串?很简单:  
    2. var a =["a","b","c"];  
    3. var s = a.toString();  
    4. alert(s);  
    5. var s2 = a.valueOf();  
    6. alert(s2);  
    3、join
    Js代码  收藏代码
    1. //厌倦了","号隔开的字符串?那么:  
    2. var a =["a","b","c"];  
    3. var s = a.join("-");//想用什么隔开呢?在这里写吧,当然","也是可以的  
    4. alert(s);  
     
    4、split
    Js代码  收藏代码
    1. //反悔了?倒过来把字符串转化为数组?  
    2. var s = "a-b-c";  
    3. var a =s.split("-");  
    4. alert(a);  
     
    5、concat
    Js代码  收藏代码
    1. //用for循环来合并?没那么麻烦  
    2. var a1 = new Array(1,2,3);  
    3. var a2 = new Array("a","b","c");  
    4. var a3 = a1.concat(a2);  
    5. alert(a3);  
     
    6、splice
    Js代码  收藏代码
    1. //删除?很灵活  
    2. var a1 = new Array(1,2,3);  
    3. var a2 = new Array("a","b","c");  
    4. var a3 = a1.concat(a2);  
    5. alert(a3);  
    6. var a4 = a3.splice(1,2); //从a3中删除从下标为1开始的2项,返回删除的结果给a4  
    7. alert(a3+" "+a4);  
     
    7、push、pop
    Js代码  收藏代码
    1. //栈的数据结构要自己来写?不需要  
    2. var a1 = new Array(1,2,3);  
    3. var a2 = a1.push(4); //顶部压入4,返回压入的对象  
    4. alert(a1+" "+a2);  
    5. var a3 = a1.pop(); //顶部弹出顶部第一个对象,返回弹出对象  
    6. alert(a1+" "+a3);  
    8、shift、unshift
    Js代码  收藏代码
    1. //倒转栈结构?来得更轻松  
    2. var a = new Array(1,2,3);  
    3. var i1 = a.shift(); //删除数组的第一项,将其作为函数返回值  
    4. alert(i1+" "+a);  
    5. var i2 = a.unshift(1); //加入一项放在数组的第一个位置,原来的项分别往下移一个位置  
    6. alert(i2+" "+a);  
     
    9、sort,reverse
    Js代码  收藏代码
    1. //排序?简单,但是它是按照字符串排序的哦尽管是数字  
    2. var a = new Array(1,2,6,3,9,5,7);  
    3. a.sort();  
    4. alert(a);  
    5. var a = new Array(1,2,6,3,9,5,27);//注意这里排序会让你意外哦[1,2,27,3,5,6,9]  
    6. a.sort();  
    7. alert(a);  
    8. //想倒序?  
    9. a.reverse();  
    10. alert(a);  
     
    10、再论splice
    Js代码  收藏代码
    1. //第6条中已经说明了它的删除功能,它还能插入、替换  
    2. var a =["a","d","e"];  
    3. a.splice(1,0,'b','c'); //在位置1(即d)处删除0个项,并插入['b','c'],即插入  
    4. alert(a);  
    5. a.splice(3,2,'dd','ee'); //在位置3处删2个项,并插入['dd','ee'],即替换  
    6. alert(a);  
     
    二、再看看判断一个对象是否为Array对象的方法
    Js代码  收藏代码
    1. isArray: function(object) {  
    2.     return object != null && typeof object == "object" &&  
    3.       'splice' in object && 'join' in object;  
    4.   }  
       这个是抄袭prototype的,看看吧,对象不为空且对像类型为object且该对象有splice方法和join方法。也对对你有所启发,毕竟JS有它的特色。
    三、一些有用的扩展:
    Js代码  收藏代码
    1. <input type="button" value="测试获取数组下标" onclick="testIndexOf()" />  
    2. <script>  
    3. // use native browser JS 1.6 implementation if available  
    4. if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) {  
    5.   i || (i = 0);  
    6.   var length = this.length;  
    7.   if (i < 0) i = length + i;  
    8.   for (; i < length; i++)  
    9.     if (this[i] === item) return i;  
    10.   return -1;  
    11. };  
    12.   
    13. function testIndexOf()  
    14. {  
    15. var a =[1,2,3];  
    16. alert(a.indexOf(2));  
    17. }  
       上面的举例获取数组中某项的下标,还有像:把数组里的项唯一化(uniq)、最后一个位置(lastIndexOf)等等,你都可以扩展。并且你可以借鉴prototype的库,mootools的库等等,里面的有些写法很是经典,可以学习学习。
  • 相关阅读:
    C#代理那点事儿
    Pro ASP.NET MVC –第五章 使用Razor
    Pro ASP.NET MVC –第六章 MVC的基本工具
    Pro ASP.NET MVC –第四章 语言特性精华
    docker 实战:安装配置
    jenkins连接windows服务器配置
    BurpSuite Professional 安装教程【转】
    CentOS7安装JIRA7.10记录
    confluence安装配置完整记录
    Faker在自动化测试中的应用
  • 原文地址:https://www.cnblogs.com/asingna/p/2117947.html
Copyright © 2020-2023  润新知