js中join 與 split 的對比

2021-08-27 11:33:19 字數 3489 閱讀 5755

陣列的一些方法:

1.join()和split()方法 

join() 方法用於把陣列中的所有元素放入乙個字串。

元素是通過指定的分隔符進行分隔的。 

指定分隔符方法join("#");其中#可以是任意

與之相反的是split()方法:用於把乙個字串分割成字串陣列. 

stringobject.split(a,b)這是它的語法

a是必須的決定個從a這分割

b不是必須的,可選。該引數可指定返回的陣列的最大長度 。如果設定了該引數,返回的子串不會多於這個引數指定的陣列。如果沒有設定該引數,整個字串都會被分割,不考慮它的長度。

注意返回的陣列中不包括a本身;

提示和注釋

注釋:如果把空字串 ("") 用作 a,那麼 stringobject 中的每個字元之間都會被分割。

注釋:string.split() 執行的操作與 array.join 執行的操作是相反的。

看例子返回

h,o,w, ,a,r,e, ,y,o,u,?

how,are,you?

h,o,w

一下兩種可以把句子分割成單詞

var words = sentence.split(' ')或者使用正規表示式作為 a:

var words = sentence.split(//s+/)

2.reverse()方法

reverse() 方法用於顛倒陣列中元素的順序。

語法:arrayobject.reverse()

注意: 該方法會改變原來的陣列,而不會建立新的陣列。

var b=a.reverse();相當於

a.reverse();

var b=a;

reverse()方法會改變原來的陣列,所以上例的返回值a這個陣列也改變!

3.sort() 方法

sort() 方法用於對陣列的元素進行排序。

語法:arrayobject.sort(sortby)

注意: 對陣列的引用。請注意,陣列在原陣列上進行排序,不生成副本。

看這個例子說明這點

返回 aa,cc,dd,ee

aa,cc,dd,ee

其中sortby是可選的值

*如果呼叫該方法時沒有使用引數,將按字母順序對陣列中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。要實現這一點,首先應把陣列的元素都轉換成字串(如有必要),以便進行比較。

*如果想按照其他標準進行排序,就需要提供比較函式,該函式要比較兩個值,然後返回乙個用於說明這兩個值的相對順序的數字。比較函式應該具有兩個引數 a 和 b,其返回值如下:

例子:

有引數的排序由引數的大小決定

可以這麼理解

要判斷的是陣列裡面任意兩個成員的值,而返回值決定了這兩個成員按什麼規律排序

這裡因為原陣列裡都是數值型,所以這裡的x,y就是數值型,x>y時返回正值,所以x將放在y後面,x=y時不變,x4.slice()方法

可從已有的陣列中返回選定的元素.

語法arrayobject.slice(start,end)

start 必需。規定從何處開始選取。如果是負數,那麼它規定從陣列尾部開始算起的位置。也就是說,-1 指最後乙個元素,-2 指倒數第二個元素,以此類推。

end 可選。規定從何處結束選取。該引數是陣列片斷結束處的陣列下標。如果沒有指定該引數,那麼切分的陣列包含從 start 到陣列結束的所有元素。如果這個引數是負數,那麼它規定的是從陣列尾部開始算起的元素。

返回值返回乙個新的陣列,包含從 start 到 end (不包括該元素)的 arrayobject 中的元素。

注意不包含end元素!!!!!!!!!!!

該方法並不會修改陣列,而是返回乙個子陣列。

如果想刪除陣列中的一段元素,應該使用方法 array.splice()。

例子:start和end都是陣列下標數字,且返回的陣列裡不包括end

slice不會改變 原來的陣列

返回8,2,6

99,8,2,6,4,4,6

5.看下splice()方法

用於插入、刪除或替換陣列的元素。

語法arrayobject.splice(index,howmany,element1,.....,elementx)

引數描述:

index 必需。規定從何處新增/刪除元素。

該引數是開始插入和(或)刪除的陣列元素的下標,必須是數字。

howmany 必需。規定應該刪除多少元素。必須是數字,但可以是 "0"。

如果未規定此引數,則刪除從 index 開始到原陣列結尾的所有元素。

element1 可選。規定要新增到陣列的新元素。從 index 所指的下標處開始插入。

elementx 可選。可向陣列新增若干元素。

返回值 

如果從 arrayobject 中刪除了元素,則返回的是含有被刪除的元素的陣列。

例子: 

返回:x|y|6,7,8|22|33

說明splice() 方法可刪除從 index 處開始的零個或多個元素,並且用引數列表中宣告的乙個或多個值來替換那些被刪除的元素。

splice會直接對陣列進行修改

例子一:

返回8,2,6,4

99,x,y,4,6

例子二:

更好的說明了splice會直接對陣列進行修改

注意:和concat() 不同,splice並不將他插入的引數展開。也就是如果插入乙個陣列,他就是插入陣列本身,還不是陣列的元素。

而concat()插入陣列的話,就會把陣列展開,插入陣列中的元素,不過當插入的陣列裡

還有陣列的時候,就不會展開了。

6.concat()方法

concat() 方法用於連線兩個或多個陣列。

注意:該方法不會改變現有的陣列 ,而僅僅會返回被連線陣列的乙個副本。

語法arrayobject.concat(arrayx,arrayx,......,arrayx)

它返回乙個新的陣列。該陣列是通過把所有 arrayx 引數新增到 arrayobject 中生成的。如果要進行 concat() 操作的引數是陣列,那麼新增的是陣列中的元素,而不是陣列。

例子:

當引數是陣列時,新增的是陣列中的元素

當引數裡包含陣列時,返回的陣列不能拆開例子

**一: 

返回: 

1|2|3|1,2,3|||x|y|z

這裡為什麼會返回一些空值?? 

我理解: 

因為var b=[a,b,c]裡面的a已經賦了值所以返回1,2,3  而b c還沒有賦值所以返回乙個空白··· 

下面這個沒有個變數a賦值,返回了undefined 

**二: 

但是如果是宣告的a為乙個陣列的話就返回了空白·· 

7.例子(unshift和push類似)

另一對:

shift() 方法用於把陣列的第乙個元素從其中刪除,並返回第乙個元素的值。

pop()為刪除最後乙個元素,且返回最後乙個元素

這篇部落格不錯,收藏以便自己學習。。

**:

js中split 和join 的用法

split 方法 把乙個字串分割成字串陣列 如上所示 把字串a按空格分隔,得3個字串陣列。在如 var a hao are you a.split 得到 h,a,o,a,r,e,y,o,u join方法 把陣列中的所有元素轉換為乙個字串 如上圖所示 陣列fruits join過後得到元素的字串 再如...

Python中split 與join 的使用

split 拆分方法 格式 string.split str num 作用 以str為分割符拆分string,str如不填寫則預設包含空格,n t r 如果num有指定值,則拆分為num 1個子字串。例如 結果3個元素 結果4個元素 關於split 使用方法的擴充套件 split 1 split 0...

Java 的Split 與Join 用法

split 方法是切割成陣列的形式,join 方法是將陣列轉換成字串。1.join 方法用於把陣列中的所有元素放入乙個字串。元素是通過指定的分隔符進行分隔的。指定分隔符方法join 其中 可以是任意.2.與之相反的是split 方法 用於把乙個字串分割成字串陣列.stringobject.split...