中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

javascript中數組和字符串的方法對比
來源:易賢網 閱讀:1003 次 日期:2016-08-01 14:07:59
溫馨提示:易賢網小編為您整理了“javascript中數組和字符串的方法對比”,方便廣大網友查閱!

下面小編就為大家帶來一篇javascript中數組和字符串的方法對比。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。

前面的話

字符串和數組有很多的相同之處,它們的方法眾多,且相似度很高;但它們又有不同之處,字符串是不可變值,于是可以把其看作只讀的數組。本文將對字符串和數組的類似方法進行比較

可索引

ECMAScript5定義了一種訪問字符的方法,使用方括號加數字索引來訪問字符串中的特定字符

可索引的字符串的最大的好處就是簡單,用方括號代替了charAt()調用,這樣更加簡潔、可讀并且可能更高效。不僅如此,字符串的行為類似于數組的事實使得通用的數組方法可以應用到字符串上

如果參數超出范圍或是NaN時,則輸出undefined

var str = "hello";

console.log(str[0]);//h

console.log(str[[1]]);//e

console.log(str[false]);//undefined

console.log(str[-1]);//undefined

console.log(str[NaN]);//undefined

console.log(str[]);//報錯

---------------------------------------------

var arr = ['h','e','l','l','o'];

console.log(arr[0]);//h

console.log(arr[[1]]);//e

console.log(arr[false]);//undefined

console.log(arr[-1]);//undefined

console.log(arr[NaN]);//undefined

console.log(arr[]);//報錯

轉換

字符串可以使用split()方法轉換為數組;而數組可以使用join()方法轉換為字符串

【split()】

split()方法基于指定的分隔符將一個字符串分割成多個字符串,并將結果放在一個數組中,分隔符可以是字符串,也可以是一個正則表達式

該方法可以接受(可選的)第二個參數用于指定數組的大小。如果第二個參數為0-array.length范圍內的值時,按照指定參數輸出,其他情況將所有結果都輸出

若指定分隔符沒有出現在字符串中,則以數組的形式返回原字符串的值

var colorText = 'red,blue,green,yellow';

console.log(colorText.split(''));//["r", "e", "d", ",", "b", "l", "u", "e", ",", "g", "r", "e", "e", "n", ",", "y", "e", "l", "l", "o", "w"]

console.log(colorText.split(','));//["red", "blue", "green", "yellow"]

console.log(colorText.split(',',2));//["red", "blue"]

console.log(colorText.split(',',6));//["red", "blue", "green", "yellow"]

console.log(colorText.split('-'));//["red,blue,green,yellow"]

console.log(colorText.split(/\,/));//["red", "blue", "green", "yellow"]

console.log(colorText.split(/e/));//["r", "d,blu", ",gr", "", "n,y", "llow"]

console.log(colorText.split(/[^\,]+/));//將除去逗號以外的字符串變為分隔符["", ",", ",", ",", ""],IE8-會識別為[",",",",","]

【join()】

join()方法可以使用不同的分隔符來構建這個字符串,join()方法只接收一個參數,用作分隔符的字符串,然后返回包含所有數組項的字符串

如果不給join()方法傳入任何值,則使用逗號作為分隔符

var a = [1,2,3];

console.log(a.join());//'1,2,3'

console.log(a.join(' '));//'1 2 3'

console.log(a.join(''));//'123'

var b = new Array(10);

b.join('-');//'---------',9個連字符組成的字符串

如果數組中的某一項的值是null或者undefined,則該值在join()方法返回的結果中以空字符串表示

var colors = [1,undefined,2,null,3];

console.log(colors.join());//'1,,2,,3'

由于字符串是類數組對象,所以,也可以使用join()方法

console.log(Array.prototype.join.call('hello', '-'));// "h-e-l-l-o"

--------------------------------------------------

var str = 'test';

var arr = str.split('')//["t", "e", "s", "t"]

console.log(arr.join('-'));//'t-e-s-t'

拼接  

字符串和數組共同擁有拼接方法concat()

var value = 'hello';

console.log(value.concat('world'));//'helloworld'

console.log(value.concat(['world']));//'helloworld'

console.log(value.concat([['world']]));//'helloworld'

---------------------------------------------

var value = ['hello'];

console.log(value.concat('world'));//["hello", "world"]

console.log(value.concat(['world']));//["hello", "world"]

console.log(value.concat([['world']]));//["hello", ["world"]]

創建

字符串和數組都擁有創建方法slice(),分別用于創建子字符串和子數組

slice()方法基于當前數組(或字符串)中的一個或多個項創建一個新數組(或字符串),接受一個或兩個參數,即要返回項的起始和結束位置,最后返回新數組(或字符串)

slice(start,end)方法需要兩個參數start和end,返回這個數組(或字符串)中從start位置到(但不包含)end位置的一個子數組(或字符串);如果end為undefined或不存在,則返回從start位置到數組(或字符串)結尾的所有項

如果start是負數,則start = max(length + start,0)

如果end是負數,則end = max(length + end,0)

start和end無法交換位置

var numbers = [1,2,3,4,5];

console.log(numbers.slice(2));//[3,4,5]

console.log(numbers.slice(2,undefined));//[3,4,5]

console.log(numbers.slice(2,3));//[3]

console.log(numbers.slice(2,1));//[]

console.log(numbers.slice(-3));//-3+5=2 -> [3,4,5]

console.log(numbers.slice(-8));//max(5 + -8,0)=0 -> [1,2,3,4,5]

console.log(numbers.slice(0,-3));//-3+5=2 -> [1,2]

console.log(numbers.slice(-2,-1));//-2+5=3;-1+5=4; -> [4]

-----------------------------------------------------

var stringValue = 'hello world';

console.log(stringValue.slice());//'hello world'

console.log(stringValue.slice(2));//'llo world'

console.log(stringValue.slice(20));//''

console.log(stringValue.slice(2,undefined));//'llo world'

console.log(stringValue.slice(2,-5));//'llo '

console.log(stringValue.slice(2,-20));//''

console.log(stringValue.slice(-2,2));//''

console.log(stringValue.slice(-2,-20));//''      

console.log(stringValue.slice(-2,20));//'ld'

console.log(stringValue.slice(-20,2));//'he'

console.log(stringValue.slice(-20,-2));//'hello wor'

位置

字符串和數組都擁有查找位置的兩個方法:indexOf()和lastIndexOf()。位置方法和中括號[]讀取方法正好相反,一個是通過項查找索引,一個是通過索引查找項

【indexOf()】

indexOf(search,start)方法接收search和start兩個參數,返回search首次出現的位置,如果沒有找到則返回-1

字符串中的search參數會調用String()轉型函數,將該參數的非字符串值轉換為字符串;而數組中的search參數則使用嚴格相等運算符(===)進行比較

不論是數組還是字符串,第二個參數start都會隱式調用Number()轉型函數,將start非數字值(undefined除外)轉換為數值;若忽略該參數或該參數為undefined、NaN時,start = 0

若start參數為負數,字符串的處理是將start=0;而數組的處理是start = max(0,start+length)

var string = 'hello world world';

console.log(string.indexOf('ld'));//9

console.log(string.indexOf('ld',undefined));//9

console.log(string.indexOf('ld',NaN));//9

console.log(string.indexOf('ld',-1));//9

console.log(string.indexOf('ld',10));//15

console.log(string.indexOf('ld',[10]));//15

console.log(string.indexOf('true',[10]));//-1

console.log(string.indexOf(false,[10]));//-1

-----------------------------------------------------

var arr = ['a','b','c','d','e','a','b'];

console.log(arr.indexOf('a',undefined));//0

console.log(arr.indexOf('a',NaN));//0

console.log(arr.indexOf('a',1));//5

console.log(arr.indexOf('a',true));//5

console.log(arr.indexOf('a',-1));//max(0,-1+7)=6; -1

console.log(arr.indexOf('a',-5));//max(0,-5+7)=2; 5

console.log(arr.indexOf('a',-50));//max(0,-50+7)=0; 0

【lastIndexOf()】

與indexOf()方法相反,lastIndexOf()方法是從右向左查找

lastIndexOf(search,start)方法接收search和start兩個參數,返回searchString第一次出現的位置,如果沒有找到則返回-1

類似地,字符串中的search參數會調用String()轉型函數,將該參數的非字符串值轉換為字符串;而數組中的search參數則使用嚴格相等運算符(===)進行比較

不論是數組還是字符串,第二個參數start都會隱式調用Number()轉型函數,將start非數字值(undefined除外)轉換為數值

若忽略該參數或該參數為undefined、NaN時,字符串的處理是start = length - 1;而數組的處理是start = 0

若start參數為負數,字符串的處理是將start=0;而數組的處理是start = max(0,start+length)

var string = 'hello world world';

console.log(string.lastIndexOf('ld'));//15

console.log(string.lastIndexOf('ld',undefined));//15

console.log(string.lastIndexOf('ld',NaN));//15

console.log(string.lastIndexOf('ld',-1));//-1

console.log(string.lastIndexOf('h',-1));//0

console.log(string.lastIndexOf('w',undefined));//12

console.log(string.lastIndexOf('ld',10));//9

console.log(string.lastIndexOf('ld',[10]));//9

console.log(string.lastIndexOf('true',[10]));//-1

console.log(string.lastIndexOf(false,[10]));//-1

------------------------------------------------------

var arr = [1,2,3,'1','2','3'];

console.log(arr.lastIndexOf('2'));//4

console.log(arr.lastIndexOf(3));//2

console.log(arr.lastIndexOf(0));//-1

var arr = ['a','b','c','d','e','a','b'];

console.log(arr.lastIndexOf('b'));//6

console.log(arr.lastIndexOf('b',undefined));//-1

console.log(arr.lastIndexOf('a',undefined));//0

console.log(arr.lastIndexOf('b',NaN));//-1

console.log(arr.lastIndexOf('b',1));//1

console.log(arr.lastIndexOf('b',-1));//max(0,-1+7)=6; 6

console.log(arr.lastIndexOf('b',-5));//max(0,-5+7)=2; 1

console.log(arr.lastIndexOf('b',-50));//max(0,-50+7)=0; -1

以上這篇javascript中數組和字符串的方法對比就是小編分享給大家的全部內容了,希望能給大家一個參考

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
国产精品伦一区| 在线免费观看一区二区三区| 在线中文字幕日韩| 国产亚洲视频在线观看| 欧美日韩专区| 在线视频中文亚洲| 亚洲高清免费| 在线观看亚洲精品视频| 国产精品综合av一区二区国产馆| 欧美高清不卡| 欧美国产日韩精品免费观看| 老司机午夜精品| 久久免费视频在线| 久久久不卡网国产精品一区| 欧美一级播放| 欧美在线高清视频| 午夜精品国产更新| 欧美亚洲成人精品| 亚洲免费高清| 最近中文字幕mv在线一区二区三区四区 | 国产精品外国| 国产精品久久久久久超碰| 欧美三区视频| 国产精品初高中精品久久| 国产精品成人一区二区| 欧美视频一区二| 欧美视频一区在线| 国产精品自拍网站| 国产亚洲一区在线播放| 狠狠色综合网| 亚洲三级影院| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲伦理久久| 亚洲视频福利| 先锋影音一区二区三区| 久久久一区二区| 免费成人av在线看| 欧美日本在线一区| 国产精品一区在线观看你懂的| 国产欧美一区二区色老头| 国内成人精品2018免费看| 亚洲国产欧美在线| 亚洲一级在线观看| 久久国产手机看片| 欧美高清视频一二三区| 欧美天堂在线观看| 国模大胆一区二区三区| 国产婷婷色一区二区三区四区| 在线欧美日韩精品| 亚洲一区二区三区在线| 久久久蜜桃精品| 欧美日韩亚洲91| 国产亚洲女人久久久久毛片| 亚洲国产综合在线看不卡| 国产日韩av在线播放| 在线电影国产精品| 亚洲午夜视频| 免费欧美在线视频| 国产精品视频免费一区| 在线成人免费视频| 亚洲男女自偷自拍图片另类| 玖玖国产精品视频| 国产精品久久中文| 亚洲国产精品免费| 欧美一级片在线播放| 欧美国产精品劲爆| 韩日成人av| 午夜电影亚洲| 欧美区一区二区三区| 国产精品综合视频| 一区二区三区**美女毛片| 久久人体大胆视频| 欧美jjzz| 国产主播一区二区三区| 亚洲图片欧美午夜| 欧美日本网站| 亚洲国产女人aaa毛片在线| 亚洲欧美成人一区二区三区| 欧美久久在线| 亚洲激情偷拍| 老巨人导航500精品| 国产日韩欧美成人| 中文精品一区二区三区| 欧美精品久久一区二区| 在线观看成人av电影| 久久亚洲精品网站| 在线观看成人小视频| 欧美影院在线| 国产一区二区在线观看免费| 性欧美暴力猛交69hd| 国产欧美日韩精品专区| 香蕉成人伊视频在线观看| 国产精品乱码人人做人人爱| 亚洲一区二区三区三| 国产精品国产馆在线真实露脸 | 亚洲免费人成在线视频观看| 欧美特黄a级高清免费大片a级| 亚洲乱码国产乱码精品精可以看 | 性8sex亚洲区入口| 欧美日韩一区二区三区在线 | 欧美精品播放| 亚洲人成在线播放网站岛国| 亚洲欧美日韩第一区| 欧美乱人伦中文字幕在线| 伊人狠狠色j香婷婷综合| 久久精品视频网| 国模私拍视频一区| 午夜精品在线| 国语自产偷拍精品视频偷| 亚洲欧美国产三级| 国产精品免费在线| 亚洲一区二区黄| 国产精品成人一区二区三区夜夜夜 | 久久亚洲色图| 国产在线精品一区二区中文| 午夜视频在线观看一区| 欧美性一区二区| 在线视频精品| 欧美福利视频| 亚洲三级免费电影| 欧美精品在线视频观看| 日韩一区二区福利| 另类欧美日韩国产在线| 伊人成人网在线看| 美女露胸一区二区三区| 亚洲激情网站| 久久一区中文字幕| 一区二区福利| 国产精品xvideos88| 亚洲一区免费在线观看| 国产精品久久久久久久久果冻传媒| 一区二区av在线| 国产精品久久久久久超碰| 久久免费国产| 亚洲日本在线观看| 国产精品家教| 久久不见久久见免费视频1| 狠狠色2019综合网| 欧美国产日本高清在线| 夜夜嗨av一区二区三区| 欧美性一二三区| 久久久精品视频成人| 亚洲国产精品高清久久久| 欧美久久综合| 欧美一级视频免费在线观看| 国产一级揄自揄精品视频| 欧美视频日韩视频| 久久精品国产综合| 亚洲国产精品女人久久久| 欧美激情一区二区三级高清视频| 99亚洲精品| 亚洲国内欧美| 国产精品综合av一区二区国产馆| 亚洲主播在线观看| 亚洲精品一区二区三| 国产精品一区二区a| 免费永久网站黄欧美| 亚洲男人av电影| 亚洲国产日韩欧美一区二区三区| 国产女主播一区二区| 欧美黄色影院| 亚洲综合三区| 亚洲日本乱码在线观看| 国产伦精品一区二区三区高清| 欧美日韩在线免费视频| 久久久亚洲精品一区二区三区| 日韩一区二区电影网| 激情成人亚洲| 欧美视频在线观看免费| 欧美日韩成人一区二区| 久久精品1区| 一区二区三区高清在线 | 亚洲片区在线| 国产精品v日韩精品| 久久婷婷综合激情| 中国日韩欧美久久久久久久久| 日韩亚洲一区二区| 激情综合久久| 国产精品亚洲人在线观看| 欧美国产91| 久热精品视频在线观看一区| 亚洲欧美综合一区| 在线亚洲欧美| 亚洲网站视频| 亚洲日本免费电影| 国内综合精品午夜久久资源| 国产在线国偷精品产拍免费yy| 国产精品免费看| 欧美日韩一区二区在线| 欧美第一黄色网| 久久九九精品| 欧美.日韩.国产.一区.二区| 久久乐国产精品| 欧美一区三区二区在线观看| 亚洲一级特黄| 一区二区三区 在线观看视频| 亚洲人成人99网站| 亚洲激情影视| 亚洲日本久久| 99国产精品国产精品毛片|