日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

字符串、对象、数组操作方法、json方法

發布時間:2023/12/2 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 字符串、对象、数组操作方法、json方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.字符串操作方法

1.charAt? *?????作用 *???????? ?通過索引找字符 *?????語法 *?????????字符串.charAt(index) *?????參數 *?????????索引值 *?????????取值范圍:0-(length-1) *?????????如果不寫參數,那默認為0 *?????????如果index超出了范圍后,它會返回一個空 *?????返回值 ?*?????????返回取到的那個字符,類型為字符串
  • var str='kaivon';
  • var s1=str.charAt(1);
  • console.log(s1); //a
  • var s2=str.charAt();
  • console.log(s2); //k
  • var s3=str.charAt(10);
  • console.log(s3); //空
  • 2.charCodeAt *?????作用 ???*?????????通過索引找字符,找到后轉為Unicode編碼 *?????語法 *?????????字符串.charCodeAt(index) *?????參數 *?????????索引 *?????????取值范圍:0-length-1 *?????????沒有參數,默認為第0個 *?????????如果參數超過了范圍,那它就返回NaN *?????返回值 ?*?????????返回字符對應的Unicode編碼
  • var str='kaivon';
  • var s1=str.charCodeAt(1);
  • console.log(s1); //97
  • var s2=str.charCodeAt();
  • console.log(s2); //107
  • var s3=str.charCodeAt(10);
  • console.log(s3); //NaN
  • 3.indexOf *?????作用 ?*?????????通過字符找下標(從左往右找這個字符首次出現的位置) *?????語法 *?????????字符串.indexOf(searchValue,fromIndex) *?????參數 *?????????searchValue????????要查找的字符 *?????????fromIndex????????從哪個位置開始查找,這個參數如果沒有默認為0 *?????返回值 ?*?????????返回一個數字,這個數字代表字符在整個字符串里的真實下標,如果沒找到的話就返回-1
  • var str='kaivaokn';
  • var s1=str.indexOf('a');
  • console.log(s1); //1
  • var s2=str.indexOf('k',1);
  • console.log(s2); //6
  • var s3=str.indexOf('b');
  • console.log(s3); //-1
  • 4.lastIndexOf *?????作用 ?*?????????通過字符找下標(從右往左找字符最后出現的位置) *?????語法 *?????????字符串.lastIndexOf(searchValue,formIndex) *?????參數 *?????????searchValue????????要查找的字符串 *?????????formIndex????????從哪開始查找,如果沒有的話,默認從最后一個字符開始 *?????返回值 ?*?????????返回一個數字,如果找到的話就返回這個字符的真實下標,如果沒找到返回-1
  • var str='kaivokn';
  • var s1=str.lastIndexOf('a');
  • console.log(s1); //1
  • var s2=str.lastIndexOf('k',5);
  • console.log(s2); //5
  • var s3=str.lastIndexOf('b');
  • console.log(s3); //-1
  • ?
  • 5.slice *?????作用 ????*?????????截取字符串 *?????語法 *?????????字符串.slice(beginSlice,endSlice) *?????參數 *?????????beginSlice????????開始的位置 *?????????endSlice????????????結束的位置 *? *?????????如果一個參數都沒有的話,直接返回整個字符串 *?????????如果只有一個參數,代表開始的位置,那結束的位置默認為最后一位字符 *?????????如果有兩個參數, 第二個參數為結束位置,但是不包含它 *?????????參數可以放負數,但是開始位置不能大于結束位置 *?????????????開始的位置是最后一位,代表-1 *????????? *?????返回值 *?????????返回截取到的那個字符串,原字符串沒有變化 ? 區別: substring的作用與slice的作用一樣,只是參數有區別。 *?與slice的區別 ?*?????1、slice起始位置不能大于結束位置,而substring起始位置可以大于結束位置?(會自動調大小) ?*?????2、slice可以放負數,而substring是不能放負數的
  • var str='kaiovn';
  • var s1=str.slice();
  • console.log(s1); //kaiovn
  • var s2=str.slice(3);
  • console.log(s2); //ovn
  • var s3=str.slice(2,4);
  • console.log(s3); //io
  • var s4=str.slice(-3,-2);
  • console.log(s4); //o
  • console.log(str); //kaiovn
  • 6.split ? ? ? ? *?????作用 ??*?????????用指定的分隔符把字符串分隔成數組 *?????語法 *?????????字符串.split(separator,limit) *?????參數 *?????????separator????????分隔符 *?????????limit????????????分隔成數組數據的個數 *? *?????????一個參數都沒有以及參數是一個空格字符的話,會把整個字符串作為數組中的一個數據 *?????????如果參數為一個空字符,它會把字符串里的每個字符做為數組中的數據 *?????????如果參數為兩個,分隔后的數組的個數第二個參數的值 *?????返回值 *?????????返回一個數組,原字符串沒有變化
  • var str='kaivon';
  • var s1=str.split();
  • console.log(s1); //["kaivon"]
  • var s2=str.split('');
  • console.log(s2); //["k", "a", "i", "v", "o", "n"]
  • var s3=str.split(' ');
  • console.log(s3); //["kaivon"]
  • var s4=str.split('a');
  • console.log(s4); //["k", "ivon"]
  • var s5=str.split('i',1);
  • console.log(s5); //["ka"]
  • console.log(str); //kaivon
  • ? 7.substr *?????作用 ??*?????????截取一段指定開始位置與個數的字符串 *?????語法 *?????????字符串.substr(start,length) *?????參數 *?????????start????????開始的位置 ?*?????????length????????截取的個數 *????????? *?????????一個參數都沒有,它會把整個字符串全部返回 *?????????如果有一個參數,那默認會從第一個參數的位置截到最后一位字符 *?返回值 *?????????返回截取到的字符串,原字符串不變
  • var str='kaivon';
  • var s1=str.substr();
  • console.log(s1); //kaivon
  • var s2=str.substr(2);
  • console.log(s2); //ivon
  • var s3=str.substr(3,2);
  • console.log(s3); //vo
  • console.log(str); //kaivon
  • ? 8.toLowerCase *?????作用 *?????????把字符串轉成小寫 *?????語法 *?????????字符串.toLowerCase() *?????參數 *?????????沒有參數 *?????返回值 *?????????返回字符串轉成小寫的結果,原來的字符串不有變化
  • var str='KaiVoN';
  • var s1=str.toLowerCase();
  • console.log(s1); //kaivon
  • console.log(str); //KaiVoN
  • 9.toUpperCase *?????作用 *?????????把字符串轉成大寫 *?????語法 *?????????字符串.toUpperCase() *?????參數 *?????????沒有參數 *?????返回值 *?????????返回字符串轉成大寫的結果,原字符串不變
  • var str='kaivon';
  • var s1=str.toUpperCase();
  • console.log(s1); //KAIVON
  • console.log(str); //kaivon
  • 10.trim *?????作用 *?????????去掉字符串的首發空格 *?????語法 *?????????字符串.trim() *?????參數 *?????????沒有參數 *?????返回值 *?????????返回字符串去掉首尾空格的結果,原字符串不變
  • var str=' kaivon ';
  • var s1=str.trim();
  • console.log(s1); //kaivon
  • console.log(str); // kaivon
  • 2.JSON *?????JSON(JavaScript?Object?Notation)?是一種輕量級的數據交換格式 ?????????????*?????一種類似JS中的對象格式的字符串( JSON它是一個字符串,只不過內容長得像對象) JSON規則 *?????????數據放在了一對引號當中(可以是單引號,也可以是雙) 引號嵌套問題,如果外面單引號里面就用雙引號,用{}或者[]括起來 *?????????里面的每個數據都以鍵值對來表示????????key:value *???????? ?key必需放雙引號 ?????????????*?????????每個數據之間用逗號隔開 JSON的用途 用于js與后端進行數據交互
  • var j1="[1,2,3]";
  • var j2='{"name":"老王","age":30}';
  • console.log(j1,typeof j1); //[1,2,3] string
  • console.log(j2,typeof j2); //{"name":"老王","age":30} string
  • 1.JSON.parse()
    *?JSON.parse(json字符串) ??????????? ? ???*?????把一個JSON格式的字符串轉成對象,返回轉過后的對象
  • var j1="[1,2,3]";
  • var j2='{"name":"老王","age":30}';
  • var obj1=JSON.parse(j1);
  • console.log(obj1,typeof obj1); //[1, 2, 3] "object"
  • var obj2=JSON.parse(j2);
  • console.log(obj2,typeof obj2); //{name: "老王", age: 30} "object"
  • var j3='{name:"kaivon"}';
  • var obj3=JSON.parse(j3); //報錯 key沒有加引號
  • var j4='['aow','shw','dwn']';
  • console.log(JOSN.parse(j4)); //報錯 因為元素只是單引號,需要改成雙引號
  • 2.JSON.stringify() ? *?JSON.stringify(對象) * ?????把一個對象轉換成JSON格式的字符串 *?????如果對象當中的key沒有加引號,也可以轉換,轉換后的結果會自動給它加上引號
  • var obj1=[1,2,3];
  • var obj2={"name":'老王',"age":30};
  • var obj3={name:'老王',"age":30};
  • var obj4=['ad','gf','fsd'];
  • console.log(JSON.stringify(obj4)); // ["ad","gf","fsd"]
  • var s1=JSON.stringify(obj1);
  • console.log(s1); //[1,2,3]
  • var s2=JSON.stringify(obj2);
  • console.log(s2); //{"name":"老王","age":30}
  • var s3=JSON.stringify(obj3);
  • console.log(s3); //{"name":"老王","age":30}
  • 3.Math 1.Math.ceil() *?????作用 ?*?????????把一個數向上取整 *?????語法 *?????????Mathi.ceil(數字) *?????參數 *?????????就是一個數字 *?????返回值 *?????????返回參數向上取整后的結果
  • console.log(Math.ceil(0.1)); //1
  • console.log(Math.ceil(-10.8)); //-10
  • console.log(Math.ceil(10)); //10
  • 2.Math.floor() *?????作用 *?????????把一個數向下取整 *?????語法 *?????????Mathi.floor(數字) *?????參數 *?????????就是一個數字 *?????返回值 *?????????返回參數向下取整后的結果
  • console.log(Math.floor(0.1)); //0
  • console.log(Math.floor(-10.8)); //-11
  • console.log(Math.floor(10)); //10
  • 3.Math.round() *?????作用 *?????????把一個數字四舍五入 *?????語法 *?????????Math.round(數字) *?????參數 *?????????就是一個數字 *?????返回值 *?????????返回參數四舍五入后的結果
  • console.log(Math.round(3.15)); //3
  • console.log(Math.round(4.5)); //5
  • console.log(Math.round(-10.87)); //-11
  • 4.Math.abs() ? ? ? ? ? ? absolute *?????作用 *?????????求一個數字的絕對值 *?????語法 *?????????Math.abs(數字) *?????參數 *?????????就是一個數字 *?????返回值 *?????????返回參數取絕對值后的結果
  • console.log(Math.abs(10)); //10
  • console.log(Math.abs(-11)); //11
  • console.log(Math.abs(5-7)); ///2
  • 5.Math.random() *?????作用 *?????????取0-1之間的隨機數,包含0但是不包含1 *?????語法 *?????????Math.random() console.log(Math.random()); ?//獲取到0-1之間的任何數據 常用的隨機取值方法 ? ? ? ? ? ? ? ? ? ?x?~?y?:?Math.round(Math.random()*(y-x)? ?x) ????????????????0?~?x?:?Math.round(Math.random()*x) ????????????????1?~?x?:?Math.ceil(Math.random()*x)||1 ????????????????0?~?x-1?:?Math.floor(Math.random()*x) ? ?
  • //0-10
  • console.log(Math.round(Math.random()*10));
  • //5-7
  • console.log(Math.round(Math.random()*(7-5) 5));
  • 4.array 1.push *?????作用 ????*?????????給數組的末尾添加數據 *?????語法 *?????????數組.push(element1,element2...) *?????參數 *?????????要添加的數據,一個或者多個數據,可以累加 *?????返回值 *?????????返回數組添加后的長度,原數組變化,變成添加后的數組
  • var color=['red','green','blue','pink'];
  • var len=color.push('white');
  • console.log(color); //['red','green','blue','pink','white'];
  • console.log(len); //5
  • 2.unshift *?????作用 *?????????給數組的前面添加數據 *?????語法 *?????????數組.unshift(element1,element2...) *?????參數 *?????????要添加的數據,一個或者多個數據,可以累加 *?????返回值 ??*?????????返回數組添加后的長度,原數組變化,變成添加后的數組
  • var color=['red','green','blue','pink'];
  • var len=color.unshift('white');
  • console.log(color); //['white','red','green','blue','pink']
  • console.log(len); //5
  • 3.pop *?????作用 ???*?????????刪除數組最后一位數據 *?????語法 *?????????數組.pop() *?????參數 *?????????沒有參數 *?????返回值 ???*?????????返回被刪除的那個數據,原數組變化,變成刪除后的數組
  • var color=['red','green','blue','pink'];
  • var del=color.pop();
  • console.log(del); //pink
  • console.log(color); //["red", "green", "blue"]
  • ? ? 4.shift *?????作用 ?*?????????刪除數組的第一位數據 *?????語法 *?????????數組.shift() *?????參數 *?????????沒有參數 *?????返回值 ?*?????????返回被刪除的那個數據,原數組變化,變成刪除后的數組
  • var color=['red','green','blue','pink'];
  • var del=color.shift();
  • console.log(del); //red
  • console.log(color); //["green", "blue", "pink"]
  • 5.forEach *?????作用 *?????????遍歷數組 *?????語法 *?????????數組.forEach(function(currentValue,index,array){ *?????????????//每次循環完都會執行這里的代碼 *?????????}) *?????參數 *?????????forEach里放的參數是一個函數 *?????????函數里的參數 *?????????????currentValue????????????當前數組中的某個數據 *?????????????index????????????????當前數據的索引 *?????????????array????????????????數組本身
  • var color=['red','green','blue','pink'];
  • color.forEach(function(currentValue,index,array){
  • console.log(currentValue,index,array)
  • });
  • 6.sort *?????作用 *?????????對數組進行排序 *?????語法 *?????????數組.sort(compareFunction) *?????參數 *?????????用來指定按某種順序對數組進行排序 *?????????如果沒有參數的話,會按照每個字符對應的Unicode碼值進行排序 *? *?????????函數里有兩個參數 *?????????????a,b *?????????????return?a-b????????????按從小到大的順序去排 *?????????????return?b-a????????????按從大到小的順序去排 *? *?????返回值 *?????????返回排序后的數組,原數組變了,變成排序后的數組
  • var arr=[4,2,7,8,3,1,10];
  • arr.sort(function(a,b){
  • return a-b;
  • })
  • console.log(arr); //[1, 2, 3, 4, 7, 8, 10]
  • var arr1=[4,2,7,8,3,1,10];
  • arr1.sort(function(a,b){
  • return b-a;
  • });
  • console.log(arr1); //[10, 8, 7, 4, 3, 2, 1]
  • //隨機排序
  • var arr2=[4,2,7,8,3,1,10];
  • arr2.sort(function(){
  • return 0.5-Math.random();
  • })
  • console.log(arr2);
  • //沒有參數
  • var arr3=[4,2,7,8,3,1,10];
  • arr3.sort();
  • console.log(arr3); //按照字符對應的unicode編碼號
  • 7.reverse *?????作用 *?????????顛倒數組 *?????語法 *?????????數組.reverse() *?????返回值 ??*?????????返回顛倒后的數組,原數組變化了,變成顛倒后的數組了
  • var color=['red','green','blue','pink'];
  • var a=color.reverse();
  • console.log(a); //["pink", "blue", "green", "red"]
  • console.log(color); //["pink", "blue", "green", "red"]
  • 8.concat *?????作用 *?????????連接數組,組成一個新數組 *?????語法 *?????????數組.concat(varlue1,value2,value3...) *?????參數 *?????????需要與原數組進行合并的數據 *?????????參數可以是數組,也可以是非數組 *?????返回值 ????*?????????合并后的新數組,原數組是不變的 區別 concat與push一樣都是給數組增加數據, ? concat添加數據 返回值是新數組,并且原數組不變。 push返回值是新數組的長度,原數組變成新數組
  • var color=['red','green','blue','pink'];
  • var newColor=color.concat('yellow');
  • console.log(newColor); //["red", "green", "blue", "pink", "yellow"]
  • console.log(color); //["red", "green", "blue", "pink"]
  • var newColor2=color.concat(['yellow','gold']);
  • console.log(newColor2); //["red", "green", "blue", "pink", "yellow", "gold"]
  • var newColor3=color.concat(1,2,3);
  • console.log(newColor3); //["red", "green", "blue", "pink", 1, 2, 3]
  • 9.join *?????作用 ??*?????????將數組中的所有元素都連接成一個字符串 *?????語法 *?????????數組.join(separator) *?????參數 *?????????separator就是一個連接符,用來把數據連成一個字符串 *?????????沒參數的話,默認為一個逗號 *?????????參數是一個空字符,那么數組中的每個數據將被直接連接 *?????返回值 ??*?????????返回數組轉成的字符串,原數組不變
  • var color=['red','green','blue','pink'];
  • var newColor=color.join();
  • console.log(newColor); //red,green,blue,pink
  • console.log(color); //["red", "green", "blue", "pink"]
  • var new1=color.join('');
  • console.log(new1); //redgreenbluepink
  • var new2=color.join(' ');
  • console.log(new2); //red green blue pink
  • var new3=color.join('&');
  • console.log(new3); //red&green&blue&pink
  • 10.slice *?????作用 *?????????截取數組 *?????語法 *?????????數組.slice(begin,end) *?????參數 *?????????begin????????開始的位置 *?????????end????????????結束的位置(不包含最后一位) *? *?????????一個參數都沒有,直接返回原來的數組 *?????????參數只有一個數字,那從數字開始的位置一直到數組的最全截掉 *?????返回值 ??*?????????返回截到的數組,原數組不會變
  • var color=['red','green','blue','pink','yellow'];
  • var n1=color.slice();
  • console.log(n1); //["red", "green", "blue", "pink", "yellow"]
  • var n2=color.slice(2);
  • console.log(n2); //["blue", "pink", "yellow"]
  • var n3=color.slice(3,4);
  • console.log(n3); //["pink"]
  • console.log(color); //["red", "green", "blue", "pink", "yellow"]
  • 11.splice *?????作用 *?????????用新元素替換舊元素,以此修改數組的內容(替換數組) *?????語法 *?????????數組.splice(start,deleatCount,item) *?????參數 *?????????start????????????開始的位置 *?????????deleatCount????????刪除的個數 *?????????item????????????????替換的內容 *? *?????????一個參數都不有的話,那直接返回一個空數組 *?????????如果參數為一個數字,代表截取數組,從傳的那個數字開始,一直截到最后一位數據 *?????????如果參數為兩個數字,代表截取數組,從第一個參數開始,截取的個數為第二個參數的值 *?????????如果參數為三個,代表替換數組,從第一個參數開始,找到第二個參數值的個數,把找到的內容換成第三個以及第三個以后的參數 *?返回值 *?????????返回刪除的數據 *?????????原數組變化了,變成刪除后剩下的內容
  • var color=['red','green','blue','pink','yellow'];
  • var c1=color.splice();
  • console.log(c1); //[]
  • console.log(color); //["red", "green", "blue", "pink", "yellow"]
  • var c2=color.splice(3);
  • console.log(c2); //["pink", "yellow"]
  • console.log(color); //["red", "green", "blue"]
  • var color1=['red','green','blue','pink','yellow'];
  • var c3=color1.splice(1,3);
  • console.log(c3); //["green", "blue", "pink"]
  • console.log(color1); //["red", "yellow"]
  • var color2=['red','green','blue','pink','yellow'];
  • var c4=color2.splice(1,2,'white','black');
  • console.log(c4); //["green", "blue"]
  • console.log(color2); //["red", "white", "black", "pink", "yellow"]
  • var color3=['red','green','blue','pink','yellow'];
  • var c5='a,b,c';
  • var c6=color3.splice(3,2,c5);
  • console.log(c6); //['pink',yellow]
  • console.log(color3); //["red", "green", "blue", "a,b,c"]
  • ?

    總結

    以上是生活随笔為你收集整理的字符串、对象、数组操作方法、json方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。