代码改变世界

js数组

2020-04-01 15:44  默默不语  阅读(136)  评论(0编辑  收藏  举报
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <script type="text/javascript">
            /* 创建数组(js是变长) */
            /* 方式一:创建一个元素个数为0的数组对象  */
            var arr1 = new Array();
            /* 方式二:创建具有指定大小的数组对象  */
            var arr2 = new Array(3);
            arr2[0] = 1;
            arr2[1] = 2;
            arr2[2] = 3;
            arr2[3] = 4;
            document.write("arr2:"+arr2+"<br>");
            /* 方式三:创建并初始化数组对象 */
            var arr3 = [3,2,"sa"];
            document.write("arr3:"+arr3+"<br>");
            document.write("arr3的第二个元素:"+arr3[1]+"<br>");
            document.write("arr3的长度:"+arr3.length+"<br>");
            document.write("arr3 toString:"+arr3.toString()+"<br>");
            document.write("arr3 元素用+连接:"+arr3.join('+')+"<br>");//把数组的每项用指定的连接符连成字符串返回 
            document.write("arr3 反转:"+arr3.reverse()+"<br>");
            document.write("arr3 排序:"+arr3.sort()+"<br>");
            document.write("arr3 pop:"+arr3.pop()+"<br>");
            document.write("arr3 shift:"+arr3.shift()+"<br>");
            document.write("arr3 push:"+arr3.push(1,2,"hahha","ajjx")+"<br>");
            document.write("arr3 unshift:"+arr3.unshift("11",15)+"<br>");
            document.write("arr3:"+arr3+"<br>");
            
            function User(name,age){
                this.name = name;
                this.age = age;
            }
            /* 定义一个排序规则函数 */
            function sortage(u1,u2){
                return u1.age-u2.age;
            }
            var userArray = new Array();
            userArray[0] = new User("张三",25);
            userArray[1] = new User("李四",20);
            userArray[2] = new User("王五",24);
            userArray.sort(sortage);
            document.write("排序后:"+"<br>");
            for(var i in userArray){
                document.write("姓名:"+userArray[i].name+" 年龄:"+userArray[i].age+"<br />");
            }
            
            var arr4 = ["张三","李四","王五","赵六"];
            /* 第一个参数:插入,删除的位置
             1表示光标在第一个元素和第二个元素之间*/
            arr4.splice(1,0,"");//张三,去,李四,王五,赵六
            arr4.splice(0,0,"去0","er");//去0,er,张三,去,李四,王五,赵六
            document.write(arr4+"<br />");
            /* 第二个参数:只要不是0,就意味着是删除而不是添加
            1代表从介入点开始往后删除1个元素*/
            arr4.splice(0,1);//er,张三,去,李四,王五,赵六
            document.write(arr4+"<br />");
            /* 2表示删除2个元素 */
            arr4.splice(0,2);
            document.write(arr4+"<br />");//去,李四,王五,赵六
            /* 既删又增 相当于替换*/
            arr4.splice(0,1,"新增的");//新增的,李四,王五,赵六
            document.write(arr4+"<br />");
        </script>
    </head>
    <body>
    </body>
</html>