字符串操作與數(shù)組操作與json介紹

1字符串:

1取某一個(gè)  str.charAt()

str.indexOf(小字符串);
    瀏覽器判斷 UA:navigator.userAgent
    Chrome  Firefox  MSIE
    擴(kuò)展:IE11不再包含MSIE,判斷方法:(sUA.toLowerCase().indexOf("trident") > -1 && sUA.indexOf("rv") > -1);
str.lastIndexOf(小字符串);

str.substring(開始位置,結(jié)束位置); //結(jié)束位置不包含想要的最后那個(gè)
    str.substring(開始位置); //截取到最后

str.split(切的方式); //切成了數(shù)組
    split('');  //切碎

str.toUpperCase(); //轉(zhuǎn)大寫
str.toLowerCase(); //轉(zhuǎn)小寫

2字符串比較:
    1)英文單詞 字典序
    2)數(shù)字(字符串) 字典序
    3)數(shù)字,數(shù)字(字符串)  先轉(zhuǎn)為數(shù)字伍纫,再比較
    4)漢字,沒規(guī)律兵拢, unicode編碼   0x4e00 到 0x9fa5

1.2獲取拓展名

        <script>
            var str='新建文本.  啦啦啦 .txtdddd';
            
            alert(str.substring(str.lastIndexOf('.')+1));
                
        </script>

1.3首字母大寫

    <script type="text/javascript">         
    
        var str='welcome to zhinengshe';
        
        var arr=str.split(' ');
        var  arr2=[];
        
        for (i=0;i<arr.length;i++){
            
        var b=arr[i].substring(0,1);            
        var a=b.toUpperCase();
        var e=arr[i].substring(1);
        var f=a+e;
            arr2.push(f);
        
        };
                
        alert(arr2);
    </script>

1.4出現(xiàn)次數(shù)最多的字母

    <script >

        var str = 'agudvfvitttklklvbfasedfvcbhbnjlksyreivjnadfuisadiotrghi';
        var json = {};

        for(var i = 0; i < str.length; i++) {
            if(json[str.charAt(i)]) {
                json[str.charAt(i)]++;
            } else {
                json[str.charAt(i)] = 1;
            }
        }
        var aaa = '';
        var icount = 0;
        for(var name in json) {
            if(json[name] > icount) {
                aaa = name;
                icount = json[name];
            }
        }
            
        document.write('出現(xiàn)最多的字母是:' + aaa + '出現(xiàn)的次數(shù)是:' + icount)
    </script>

2、數(shù)組

var arr = [1,2,3];
var arr = new Array(1,2,3);
var arr = new Array(3); //表示長度是3逾礁,并不是只有一個(gè)元素是3
var arr = [3]; //表示只有一個(gè)元素是3

函數(shù):
arr.push(元素); //加到后面
arr.unshift(元素); //加到前面
arr.pop(); //刪除后面
arr.shift(); //刪除前面

arr.splice(開始位置说铃,刪除幾個(gè)[,元素1,元素2...]);// 萬能方法嘹履,靈活使用腻扇,可實(shí)現(xiàn)各操作
    刪除:var arr = [2,3,8,9,10,22];
        arr.splice(2,1); //從第2個(gè)位置開始,刪除1個(gè)
    增加:arr.splice(3,0,100); //2,3,8,100,9,10,22
        arr.splice(3,0,100,200); //2,3,8,100,200,9,10,22
    替換:arr.splice(3,2,55,66); // 2,3,8,55,66,22
    模擬:
        增加:push---arr.splice(arr.length,0,數(shù)1); 
            unshift---arr.splice(0,0,數(shù)1砾嫉,數(shù)2);
        刪除:pop---arr.splice(arr.length-1,1);
            shift---arr.splice(0,1);

arr.join(連接方式); //數(shù)組轉(zhuǎn)字符串
arr.concat(數(shù)組1幼苛,數(shù)組2...); //數(shù)組連接
arr.reverse(); //數(shù)組反轉(zhuǎn)

arr.sort(); //排序  默認(rèn)字典序
    排序數(shù)字時(shí)需要自己實(shí)現(xiàn):
    arr.sort(function(n1,n2){
        return n1-n2;
    });

數(shù)組長度: arr.length  --還能賦值
清空數(shù)組:
    1) arr.length = 0;
    2) arr = [];
    3) arr.splice(0,arr1.length);
    4)while(arr1.length){arr1.pop()}

2.1應(yīng)用

    <script>
        var arr = [2, 2, 11, 1, 1, 1, 34, 45, 5, 5, 6, 76, 8, 78, 45, 34, 456, 243, 67, ]

        //去重第一種辦法
        /*arr.sort();
        for(var i = 0; i < arr.length; i++) {
            if(arr[i] == arr[i + 1]) {
                arr.splice(i, 1);
                i--;
            }
        }               
        alert(arr);*/

        //去重第二種辦法
        /*function findInArray(arr, n) {
            for(var i = 0; i < arr.length; i++) {
                if(arr[i] == n) {
                    return true;
                }
            }
            return false;
        };
        var arr2 = [];
        for(var i = 0; i < arr.length; i++) {
            if(!findInArray(arr2, arr[i])) {
                arr2.push(arr[i]);
            }
        }
        alert(arr2);*/

        //去重第三種辦法
        /*var json = {};
        for(var i = 0; i < arr.length; i++) {
            if(!json[arr[i]]) {
                json[arr[i]] = 'zns'
            }
        }
        var arr2 = [];
        for(var name in json) {
            arr2.push(name);
        }
        alert(arr2);*/

        //去偶數(shù)

        /*for(var i = 0; i < arr.length; i++) {
            if(arr[i] % 2 == 0) {
                arr.splice(i, 1);
                i--;
            }
        }
        alert(arr);*/

        //排序
        function findMinIndex(arr, start) {
            var minIndex = start; //初始位置
            var minValue = arr[start]; //初始值
            for(var i = start; i < arr.length; i++) {
                if(arr[i] < minValue) { //如果數(shù)組后邊的值大現(xiàn)在的值 那么
                    minIndex = i; //當(dāng)前最小值位置 變化
                    minValue = arr[i]; //當(dāng)前最小值 變化
                }
            }
            return minIndex;
        };

        for(var i = 0; i < arr.length; i++) {
            var minIndex = findMinIndex(arr, i);
            var tmp = 0;

            tmp = arr[i];
            arr[i] = arr[minIndex];
            arr[minIndex] = tmp;
        }
        alert(arr);
    </script>

3、JSON:

json是什么焕刮?
    給變量打個(gè)包舶沿,存儲多個(gè)東西
    json={name: value, name2: value2, name3: value3,......};
             json            數(shù)組
下標(biāo)     字符串           數(shù)字
length  undefined      有l(wèi)ength
for       for in循環(huán)    普通for循環(huán)
有序     無序            有序
3.1、 json添加一項(xiàng):
     json.x=xx;
    json刪除一項(xiàng):
3.2配并、另一種循環(huán):for in循環(huán):循環(huán)json對象
    普通循環(huán):for while
    * 能用for循環(huán)盡量用for循環(huán)括荡,實(shí)在沒辦法采用for in
3.3、 json的寫法:
    a). json={a:1};
    b). json={"a":1};  √
    c). json={'a':"張三"}; √
3.4溉旋、題
json = {a:1,b:2};
json['a']++;
console.log(json);  //{a:2,b:2}
3.5畸冲、json中什么都可以存,比如,描述 小明 的特點(diǎn)及親戚
3.6邑闲、用json的方法完善 setStyle:

getByClass(完美版)
    document.getElementsByClassName(類名); --兼容高級瀏覽器
    oParent.getElementsByTagName('*');--獲取oParent下的所有標(biāo)簽 
    完美版:
         function getByClass(oParent,sClass){
            if(oParent.getElementsByClassName){
                return oParent.getElementsByClassName(sClass);
            }else{
                var aEle=oParent.getElementsByTagName('*');
                // 用來裝滿足條件的元素
                var arr=[];
                for(var i=0; i<aEle.length; i++){
                    var aClass=aEle[i].className.split(' ');
                    if(findInArr(aClass, sClass)){
                        arr.push(aEle[i]);
                    }
                }
                return arr;
            }
        }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末算行,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子苫耸,更是在濱河造成了極大的恐慌州邢,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鲸阔,死亡現(xiàn)場離奇詭異偷霉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)褐筛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進(jìn)店門类少,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人渔扎,你說我怎么就攤上這事硫狞。” “怎么了晃痴?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵残吩,是天一觀的道長。 經(jīng)常有香客問我倘核,道長泣侮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任紧唱,我火速辦了婚禮活尊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘漏益。我一直安慰自己蛹锰,他們只是感情好零远,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布纤垂。 她就那樣靜靜地躺著辩诞,像睡著了一般污筷。 火紅的嫁衣襯著肌膚如雪琢岩。 梳的紋絲不亂的頭發(fā)上氮双,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天慕蔚,我揣著相機(jī)與錄音适秩,去河邊找鬼余爆。 笑死煎谍,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的龙屉。 我是一名探鬼主播呐粘,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼满俗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了作岖?” 一聲冷哼從身側(cè)響起唆垃,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎痘儡,沒想到半個(gè)月后辕万,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沉删,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年渐尿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矾瑰。...
    茶點(diǎn)故事閱讀 38,064評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡砖茸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出殴穴,到底是詐尸還是另有隱情凉夯,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布采幌,位于F島的核電站劲够,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏休傍。R本人自食惡果不足惜征绎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望磨取。 院中可真熱鬧人柿,春花似錦、人聲如沸寝衫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慰毅。三九已至,卻和暖如春扎阶,著一層夾襖步出監(jiān)牢的瞬間汹胃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工东臀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留着饥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓惰赋,卻偏偏與公主長得像宰掉,于是被迫代替她去往敵國和親呵哨。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理轨奄,服務(wù)發(fā)現(xiàn)孟害,斷路器,智...
    卡卡羅2017閱讀 134,599評論 18 139
  • 原文: https://github.com/ecomfe/spec/blob/master/javascript...
    zock閱讀 3,370評論 2 36
  • 又是一年高考時(shí)挪拟,看一個(gè)個(gè)壓力山大的家長孩子挨务,總想勸慰他們幾句。先說成功的路不止一條玉组,考入名校的寥寥無幾谎柄,錄取率在那...
    子牙河閱讀 200評論 0 2
  • 首先說一下看源碼的方式,首先明確看源碼的目的是為了更好的指導(dǎo)上層開發(fā)惯雳〕祝看android的系統(tǒng)源碼,重要的是理解整體...
    ahking17閱讀 12,232評論 5 24
  • 包圍結(jié)構(gòu)的字在漢字中占的比例不大吨凑,但不容易寫好捍歪。在教科書中,包圍結(jié)構(gòu)分全包圍和半包圍兩部分鸵钝。全包圍結(jié)構(gòu)就是四周都封...
    路順廷閱讀 4,032評論 0 2