如何輕松在JavaScript中字符串的字符之間添加空格
在今天的文章中,我們將學(xué)習(xí)如何輕松地在 JavaScript 中的字符串字符之間包含空格。
1.String split() 和 Split join() 方法
要在字符串的字符之間添加空格,請(qǐng)對(duì)字符串調(diào)用 split() 方法以獲取字符數(shù)組,然后對(duì)該數(shù)組調(diào)用 join() 方法以使用空格分隔符連接字符。
例如:
function addSpace(str) { return str.split('').join(' '); } const str1 = 'coffee'; const str2 = 'banana'; console.log(addSpace(str1)); // c o f f e e console.log(addSpace(str2)); // b a n a n a
String split() 方法使用指定的分隔符將字符串拆分為子字符串?dāng)?shù)組。
const str1 = 'coffee,milk,tea'; const str2 = 'sun-moon-star'; console.log(str1.split(',')); // [ 'coffee', 'milk', 'tea' ] console.log(str2.split('-')); // [ 'sun', 'moon', 'star' ]
通過(guò)使用空字符串 ('') 作為分隔符,我們將所有字符串字符拆分為單獨(dú)的數(shù)組元素。
const str1 = 'coffee'; const str2 = 'banana'; // Passing an empty string ('') to the split method // [ 'c', 'o', 'f', 'f', 'e', 'e' ] console.log(str1.split('')); // [ 'b', 'a', 'n', 'a', 'n', 'a' ] console.log(str2.split(''));
String join() 方法將數(shù)組中的每個(gè)字符串與分隔符組合在一起。 它返回一個(gè)包含串聯(lián)數(shù)組元素的新字符串。
const arr = ['a', 'b', 'c', 'd']; console.log(arr.join(' ')); // a b c d console.log(arr.join('-')); // a-b-c-d console.log(arr.join('/')); // a/b/c/d
因此,將空格字符傳遞給 join() 會(huì)在生成的連接中用空格分隔字符。
在某些情況下,字符串已經(jīng)在某些字符之間包含空格。 在這種情況下,我們的方法會(huì)在字符之間添加更多的空格。
function addSpace(str) { return str.split('').join(' '); } // These strings have spaces between some characters const str1 = 'co ffee'; const str2 = 'bana na'; console.log(addSpace(str1)); // c o f f e e console.log(addSpace(str2)); // b a n a n a
這是因?yàn)榭崭?(' ') 也是一個(gè)字符,就像一個(gè)字母,調(diào)用 split() 會(huì)使它成為數(shù)組中的一個(gè)單獨(dú)元素,該元素將與其他空格組合。
// These strings have spaces between some characters const str1 = 'co ffee'; const str2 = 'bana na'; // The space characters are separate elements of the // array from split() /** * [ 'c', 'o', ' ', ' ', 'f', 'f', 'e', 'e' ] */ console.log(str1.split('')); /** * [ 'b', 'a', 'n', 'a', ' ', ' ', 'n', 'a' ] */ console.log(str2.split(''));
如果我們想避免字符的多重間距,我們可以在 split() 和 join() 之間插入對(duì) filter() 方法的調(diào)用。
function addSpace(str) { return str .split('') .filter((item) => item.trim()) .join(' '); } // The strings have spaces between some characters const str1 = 'co ffee'; const str2 = 'bana na'; console.log(addSpace(str1)); // c o f f e e console.log(addSpace(str2)); // b a n a n a
Array filter() 方法返回一個(gè)新數(shù)組,其中僅包含原始數(shù)組中的元素,從傳遞給 filter() 的測(cè)試回調(diào)函數(shù)返回真值。 在空格 (' ') 上調(diào)用 trim() 會(huì)產(chǎn)生一個(gè)空字符串 (''),這在 JavaScript 中不是真值。 因此,從 filter() 返回的結(jié)果數(shù)組中排除了空格。
小技巧:
在 JavaScript 中,只有六個(gè)假值:false、null、undefined、0、' '(空字符串)和 NaN。 其他所有值都是真實(shí)的。
2.for…of 循環(huán)
對(duì)于命令的方法,我們可以使用 JavaScript for...of 循環(huán)在字符串的字符之間添加一個(gè)空格。
function addSpace(str) { // Create a variable to store the eventual result let result = ''; for (const char of str) { // On each iteration, add the character and a space // to the variable result += char + ' '; } // Remove the space from the last character return result.trimEnd(); } const str1 = 'coffee'; const str2 = 'banana'; console.log(addSpace(str1)); // c o f f e e console.log(addSpace(str2)); // b a n a n a
要處理前面討論的情況,其中字符串在某些字符之間有空格,請(qǐng)?jiān)诿看蔚淖址险{(diào)用 trim(),并添加一個(gè) if 檢查以確保它是真實(shí)的,然后再將它和空格添加到累積結(jié)果中:
function addSpace(str) { // Create a variable to store the eventual result let result = ''; for (const char of str) { // On each iteration, add the character and a space // to the variable // If the character is a space, trim it to an empty // string, then only add it if it is truthy if (char.trim()) { result += char + ' '; } } // Remove the space from the last character return result.trimEnd(); } const str1 = 'co ffee'; const str2 = 'bana na'; console.log(addSpace(str1)); // c o f f e e console.log(addSpace(str2)); // b a n a n a
總結(jié)
到此這篇關(guān)于如何輕松在JavaScript中字符串的字符之間添加空格的文章就介紹到這了,更多相關(guān)JS字符之間添加空格內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Firefox和IE兼容性問(wèn)題及解決方法總結(jié)
IE和Firefox(火狐)在JavaScript方面的不兼容及統(tǒng)一方法在本文做下總結(jié),感興趣的朋友可以參考下2013-10-10使用Echarts設(shè)置地圖并觸發(fā)點(diǎn)擊事件的代碼
這篇文章主要給大家介紹了關(guān)于使用Echarts設(shè)置地圖并觸發(fā)點(diǎn)擊事件的的相關(guān)資料,ECharts是一款基于JavaScript的數(shù)據(jù)可視化庫(kù),可以用于創(chuàng)建各種類(lèi)型的交互式圖表,包括地圖,需要的朋友可以參考下2023-09-09利用JS實(shí)現(xiàn)簡(jiǎn)單的日期選擇插件
這篇文章主要介紹了利用JS實(shí)現(xiàn)簡(jiǎn)單的日期選擇插件,文中實(shí)現(xiàn)兩種效果的日期選擇,一種是默認(rèn)參數(shù),點(diǎn)擊日期后直接選擇該日期,另一種是顯示按鈕來(lái)設(shè)置時(shí)間,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-01-01當(dāng)鼠標(biāo)滑過(guò)文本框自動(dòng)選中輸入框內(nèi)容的JS代碼分享
這篇文章主要介紹了當(dāng)鼠標(biāo)滑過(guò)文本框自動(dòng)選中輸入框內(nèi)容的JS代碼,有需要的朋友可以參考一下2013-11-11javascript簡(jiǎn)寫(xiě)常用的12個(gè)技巧(可以大大減少你的js代碼量)
這篇文章主要跟大家分享了javascript簡(jiǎn)寫(xiě)常用的12個(gè)技巧,通過(guò)這12個(gè)技巧可以大大減少你的js代碼量,看懂一種是入門(mén),全懂就是大神,你能知道幾個(gè)呢?需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)下吧。2017-08-08利用js-cookie實(shí)現(xiàn)前端設(shè)置緩存數(shù)據(jù)定時(shí)失效
這篇文章主要介紹了利用js-cookie實(shí)現(xiàn)前端設(shè)置緩存數(shù)據(jù)定時(shí)失效,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06關(guān)于IE、Firefox、Opera頁(yè)面呈現(xiàn)異同 寫(xiě)腳本很痛苦
關(guān)于IE、Firefox、Opera頁(yè)面呈現(xiàn)異同 寫(xiě)腳本很痛苦,對(duì)于多瀏覽器的兼容性,需要注意。2009-08-08