整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          Html中的空格

          (半角的不斷行的空白格)


            (半角的空格)


            (全角的空格)

          解如何在 JavaScript 中輕松地在字符串的字符之間添加空格。

          在本文中,我們將學習如何在 JavaScript 中輕松地在字符串的字符之間包含空格。


          1. String split() 和 Split join() 方法

          要在字符串的字符之間添加空格,請在字符串上調(diào)用 split() 方法以獲取字符數(shù)組,然后在數(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() 方法使用指定的分隔符將字符串拆分為子字符串數(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' ]

          通過使用空字符串 ('') 作為分隔符,我們將所有字符串字符拆分為單獨的數(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ù)組中的每個字符串與分隔符組合在一起。 它返回一個包含連接數(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() 會在結果串聯(lián)中用空格分隔字符。

          在某些情況下,字符串已經(jīng)在某些字符之間包含空格。 在這種情況下,我們的方法會在字符之間添加更多空格。

          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

          這是因為空格 (' ') 也是一個字符,就像一個字母,調(diào)用 split() 會使其成為數(shù)組中的一個單獨元素,該元素將與其他空格組合。

          // 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() 之間插入對 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() 方法返回一個新數(shù)組,該數(shù)組僅包含原始數(shù)組中的元素,傳遞給 filter() 的測試回調(diào)函數(shù)為其返回真值。 對空格 (' ') 調(diào)用 trim() 會產(chǎn)生一個空字符串 (''),這在 JavaScript 中不是真值。 因此,從 filter() 返回的結果數(shù)組中排除了空格。

          小費

          在 JavaScript 中,只有六個假值:false、null、undefined、0、''(空字符串)和 NaN。 其他所有值都是真實的。


          2. for...of 循環(huán)

          對于更命令式的方法,我們可以使用 JavaScript for...of 循環(huán)在字符串的字符之間添加一個空格。

          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

          為了處理前面討論的場景,其中字符串在某些字符之間有空格,請在每次迭代的字符上調(diào)用 trim(),并添加一個 if 檢查以確保它是真實的,然后將它和空格添加到累積結果中:

          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


          關注七爪網(wǎng),獲取更多APP/小程序/網(wǎng)站源碼資源!

          擊右上方紅色按鈕關注“小鄭搞碼事”,每天都能學到知識,搞懂一個問題!

          由于HTML代碼的空格通常會被瀏覽器忽略,所以我們很有必要對瀏覽器處理空格的一些規(guī)則有個詳細的認識,這樣我們后面才能詳述它的解決辦法。

          一、默認規(guī)則

          效果是這樣的:

          由此可此可以知道瀏覽器的默認處理規(guī)則一:文字的前后空格都會忽略,內(nèi)部連續(xù)空格只有自作一個。

          原樣輸出可能是我們這樣寫代碼的本意,要讓這段代碼原樣輸出的方法有兩個(使用標簽/使用表示空格的實體代碼):

          方法一:<pre><span class="space"> 小鄭 搞碼 </span></pre>

          方法二:<span class="space"> 小鄭 搞碼 </span>

          二、另一個規(guī)則

          關于規(guī)則部分還有一點,來看一段代碼:

          效果是:

          表示,瀏覽器對字符的處理不僅限于空格,還有制表符(\t),換行符(\r和\n)。

          同樣讓這段代碼換行可能是我們寫的本意,讓這段代碼換行的方法有兩個:

          方法一:套一個pre標簽

          方法二:<span class="space">小鄭<br/>搞碼</span>

          最后總結一下:

          HTML語言的空格處理,基本上就是直接過濾。這樣的處理過于粗糙,完全忽視了原始文本內(nèi)部的空格可能是有意義的。所以CSS提供了一個屬性white-space屬性來靈活控制空格。下篇詳述。


          主站蜘蛛池模板: 精品无码人妻一区二区三区18| 波多野结衣一区二区免费视频| 亚洲一区在线免费观看| 日韩在线一区二区三区免费视频| 无码人妻久久一区二区三区免费丨| 麻豆高清免费国产一区| 亚洲熟妇av一区二区三区下载| 美女一区二区三区| 日本免费一区二区三区| 日韩精品无码免费一区二区三区| 亚洲av无码一区二区三区不卡| 中文字幕一区二区三区日韩精品| 三上悠亚国产精品一区| 国产亚洲一区二区三区在线| 无码一区二区三区在线观看| 秋霞无码一区二区| 亚洲av日韩综合一区二区三区| 精品一区二区久久| 日韩免费观看一区| 88国产精品视频一区二区三区| 久久久久人妻一区二区三区| 亚洲欧美日韩一区二区三区在线 | 国产高清视频一区二区| 国产精品亚洲一区二区三区久久 | 精品乱子伦一区二区三区| 精品aⅴ一区二区三区| 亚洲欧洲一区二区| 痴汉中文字幕视频一区| 久久se精品一区二区影院| 久久久一区二区三区| 国产伦精品一区二区三区不卡| 波多野结衣一区在线观看| 久久99国产精一区二区三区| 99精品国产高清一区二区麻豆 | 久草新视频一区二区三区| 亚洲av日韩综合一区久热| 国产福利电影一区二区三区久久老子无码午夜伦不 | 中文字幕日本精品一区二区三区| 无码人妻精品一区二区| AV天堂午夜精品一区二区三区| 视频一区视频二区制服丝袜|