JS數(shù)組方法join()用法實(shí)例分析
本文實(shí)例講述了JS數(shù)組方法join()用法。分享給大家供大家參考,具體如下:
join()方法
- 定義和用法:
join() 方法用于把數(shù)組中的所有元素放入一個(gè)字符串。
元素是通過指定的分隔符進(jìn)行分隔的。 - 語法:arrayObject.join(separator)
- 參數(shù):可選,指定要使用的分隔符。
注:不給join()方法傳入任何值,或者給它傳入undefined,則使用逗號作為分隔符。
IE7及更早版本會(huì)錯(cuò)誤的使用字符串“undefined”作為分隔符。
數(shù)組中的某一項(xiàng)是null或undefined,那么該值在join()、toLocaleString()、toString()和valueOf()方法返回的結(jié)果中以空字符串表示。 - 返回值:
返回包含所有數(shù)組項(xiàng)的字符串。
代碼如下:
Array.prototype.copyJoin = function() {
var string = '';
for(var i = 0; i < this.length; i++) {
// 將數(shù)組中各項(xiàng)值為null 或undefined的項(xiàng)改為空字符串。
if(this[i] == null || this[i] == undefined) {
this[i] = '';
}
// 對數(shù)組進(jìn)行操作
if(arguments.length == 1 && arguments[0] != undefined) { //指定使用的分隔符
string += (i < this.length - 1) ? this[i] + arguments[0] : this[i];
}
else { // 默認(rèn)使用的分隔符————逗號
// if(i < this.length - 1) {
// string += this[i] + ',';
// }
// else {
// string += this[i];
// }
string += (i < this.length - 1) ? this[i] + ',' : this[i];
}
}
return string;
}
// 不傳任何值或者傳入undefined
var arr = [1, 2, 3, 4, 5, 6];
console.log(arr.copyJoin()); // 1,2,3,4,5,6
console.log(arr.copyJoin().length); // 11
console.log(arr.copyJoin(undefined)); // 1,2,3,4,5,6
console.log(arr.copyJoin(undefined).length); // 11
// 傳入?yún)?shù)
console.log(arr.copyJoin('||')); // 1||2||3||4||5||6
console.log(arr.copyJoin('||').length); // 16
// 數(shù)組中的某一項(xiàng)是null或undefined
var arr2 = [1, undefined, 2, undefined, 3, 4, 5, 6, 7, null, 8, null, 9];
console.log(arr2.copyJoin()); // 1,,2,,3,4,5,6,7,,8,,9
console.log(arr2.copyJoin().length); // 21
console.log(arr2.copyJoin(undefined)); // 1,,2,,3,4,5,6,7,,8,,9
console.log(arr2.copyJoin(undefined).length); // 21
運(yùn)行結(jié)果:

以上在IE8+ join()方法一樣,但是在IE7及更早版本(copyJoin()方法不存在):
arr.join(undefined)); // 1undefined2undefined3undefined4undefined5undefined6 arr.join(undefined).length); // 51 arr2.join(undefined)); // 1undefinedundefined2undefinedundefined3undefined4undefined5undefined6undefined7undefinedundefined8undefinedundefined9 arr2.join(undefined).length); // 117
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運(yùn)行效果。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《javascript面向?qū)ο笕腴T教程》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
JS判斷元素是否在數(shù)組內(nèi)的實(shí)現(xiàn)代碼
這篇文章主要介紹了JS判斷元素是否在數(shù)組內(nèi)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-03-03
一覽畫面點(diǎn)擊復(fù)選框后獲取多個(gè)id值的方法
這篇文章主要介紹了在一覽畫面點(diǎn)擊復(fù)選框后獲取多個(gè)id值的方法,前臺采用js技術(shù)后臺采用java技術(shù)實(shí)現(xiàn)的,邏輯清晰,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-05-05
JavaScript創(chuàng)建對象的七種經(jīng)典方式分享
JavaScript 創(chuàng)建對象的方式有很多,通過 Object 構(gòu)造函數(shù)或?qū)ο笞置媪康姆绞揭部梢詣?chuàng)建單個(gè)對象,顯然這兩種方式會(huì)產(chǎn)生大量的重復(fù)代碼,并不適合量產(chǎn)。本文介紹了七種非常經(jīng)典的創(chuàng)建對象的方式,希望對大家有所幫助2022-11-11
微信小程序?qū)崿F(xiàn)發(fā)動(dòng)態(tài)功能的示例代碼
最近做了一個(gè)校園拍賣小程序,想在里面添加一個(gè)類似校園圈功能,現(xiàn)在來一步一步實(shí)現(xiàn),對微信小程序?qū)崿F(xiàn)發(fā)動(dòng)態(tài)功能感興趣的朋友一起看看吧2022-08-08
JavaScript實(shí)現(xiàn)瀏覽器內(nèi)多個(gè)標(biāo)簽頁通信方式詳解
在瀏覽器中,多個(gè)標(biāo)簽頁(頁簽)之間的通信有一些方法可以實(shí)現(xiàn),這篇文章為大家整理了6個(gè)常用的方法,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03
微信小程序自定義組件傳值 頁面和組件相互傳數(shù)據(jù)操作示例
這篇文章主要介紹了微信小程序自定義組件傳值 頁面和組件相互傳數(shù)據(jù)操作,結(jié)合實(shí)例形式分析了微信小程序常見傳值操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-05-05
小程序中讀取騰訊文檔的表格數(shù)據(jù)的實(shí)現(xiàn)
本文主要介紹了小程序中讀取騰訊文檔的表格數(shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

