javascript基础数组,字符串的操作和冒泡函数等

Posted solaris-wwf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript基础数组,字符串的操作和冒泡函数等相关的知识,希望对你有一定的参考价值。

 数组
         var arr = new Array(2,1,5,6,7,4,9); 
         var arr2 = Array(1,2,"33"); //省略new来创建数组
         var arr3 = [1,2,"33"]; //通过常量来创建数组
         Math.random(); //0~1之间任意的数。
         for(var i in arr){document.write(arr[i]+" ");} //另一种遍历arr的方式。这个方法要比for循环效率高
 
       
        1.栈结构:
            push()方法:从一口进,从同一个口出。特点:先进后出。功能:给数组末尾添加元素, 
        alert(arr); 
        var aes = arr.push("ee","sdfs"); 
        alert(aes); //返回值:添加完元素之后,数组的长度。
            pop()方法:去掉最后一个元素
        var aes = arr.pop(); 
        alert(aes); //返回值:返回刚才去掉的最后一个元素。
 
        队列结构从一头进,从另外一头出去,特点:先进先出
            shift()方法,从数组的头部去掉一个元素
            unshift()方法,从数组的头部插入元素
            concat();数组的合并,返回值,合并后的新数组, arr.concat(arr2); 
            slice();剪切数组,返回值,剪切后的新数组, slice(1,3); 去掉下标第二第四的元素,
            splice()splice(下标,length,元素);
                删除功能: splice(1,1); 去掉第二个长度1, var am = arr.splice(1,1); 这个返回值为删除的第二个元素,
                添加功能splice(1,0,"sdf");splice(1,0,"sdf","dsf"); 从第二个元素开始添加元素
                替换功能splice(1,1,"sdfsd"); 
            join();拼接符,将元素拼接成字符串, arr.join("+s"); 返回值,返回字符串

 

            reverse();数组的逆向排序
            sort();升序排序,默认是用字符串的asc ii编码表来排序的,而不是按照大小来排序的,

 

        2.二维数组
            1,2,3,4,5
            6,7,8,9,10
            
  var arr = [[],[],[],[],[]];
            var count = 0;每个数组中的元素
            var arr = [];
            for(i=0;i<5;i++){var newArr = []
                for(j=0;j<5;j++){newArr.push(++count);}
                arr.push(newArr);
            }
            alert(arr.length);//返回5
            alert(arr[0]);//返回1,2,3,4,5,

            for(i=0;i<arr.length;i++){
                for(j=0;j<=i;j++){document.write(arr[i][j] + "&ensp");}
                document.write(<br />);
            }

 

        冒泡排序
           按顺序逐步把最大的放到最后面。
var arr4 = [9,4,8,6,7,2];
            for(i = 0;i < arr4.length;i++)
            {
                for(j = 0;j < arr4.length -i -1 ; j++)
                {
                    if(arr4[j] > arr4[j+1])//比较前后两个数字是否符合交换条件
                    {
                        var tmp = arr4[j];//先将大的元素放进一个变量,
                        arr4[j] = arr4[j+1];//前后交换变量
                        arr4[j+1] = tmp;
                    }
                }
            }
            alert(arr4);

 

        选择排序
            按顺序谁最大谁就排在最后面
  var arr4 = [5,6,4,7,3,9];
            for(i = 0;i < arr4.length;i++)
            {
                for(j = i;j < arr4.length  ; j++)
                {
                    if(arr4[j] < arr4[i])
                    {
                        var tmp = arr4[i];
                        arr4[i] = arr4[j];
                        arr4[j] = tmp;
                    }
                }
            }
            alert(arr4);

 

        变量函数中作用域
            
    var a = 10;
            function show(){
                a=5;
            }
            show();
            alert(a);//返回5

            var a = 10;
            function show(a){
                a=5;
            }
            show(a);
            alert(a);//返回10,形参在函数调用结束后被释放

            var arr = [1,2];
            function show(arr){arr.push(3,4);}
            alert(arr);//返回1,2,3,4 数组是复合数据类型/引用数据类型,并不存储在函数中,存储在堆段,所有复合数据类型都是引用地址

 

        字符串的函数:必须在document.write中使用
             var str = "hello"; str.charAt(2); 下标返回l。 str[1]; 也可以,不能被赋值, str[1] = "x"; ,只能 str = "sdf"; 
            big();用大号字体显示,
            blink();用闪动字符串(ie不兼容)
            bold();使用粗体
            fixed();以打字机的文本显示,
            strike();使用删除线
            fontcolor();
            fontsize();
            link();链接
            sub();下标, document.write("hello".sub()); 
            sup();上标
            
            charCodeAt(下标);返回asc ii码值
            fromCharCode(asc ii 码值)
            concat();   
    var str = "1";
    var str2 = "2";
    var str3 = str.concat(str2);

 

        字符串的查找方法:
            indexOf();indexOf(子串,开始查找的下标),返回值,相同字符串第一次出现的位置,或者没有返回-1
            lastIndexOf();lastIndexOf(子串);相同字符串第后一次出现的位置,返回值,没有-1
            search();参数可以是正则表达式,i是忽略大小写,g代表全局匹配
                 var str = "Abcabcabc";str.search("abc"); 返回3,正则表达式/abc/i,返回0
        字符串替换:
            replace();replace(匹配字符串/正则表达式,"df");返回值,替换后的字符串,
            replace("are","sdf");特点,只能替换第一次找到的目标
            replace(/sf/g,"sdf");替换掉所有相同字符串
            substring(); substring(2,4); 截取下标2和3不包括4,返回值,生成的新字符串
            slice(); slice(-2); 截取最后两个字符。
            split();split(分隔符,生成的数组长度);返回一个数组
             var str = "this is it";var arr = str.split(" ",2); 长度两个的数组
            数组转换字符串arr.join("");返回一个字符串
            toLowCase();全小写
            toUpperCase();全大写

以上是关于javascript基础数组,字符串的操作和冒泡函数等的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript基础在写冒泡排序时遇到的JavaScript基础问题:JavaScript的数据类型和变量赋值时的原理

JavaScript 数组及冒泡排序

java基础(16)数组的高级应用--冒泡排序选择排序

JavaScript夯实基础系列:闭包

JavaScript基础 数组 及 方法

Javascript数组算法和技巧总结