溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎么在JavaScript字符串的字符之間添加空格

發(fā)布時(shí)間:2023-05-06 09:51:17 來(lái)源:億速云 閱讀:103 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了“怎么在JavaScript字符串的字符之間添加空格”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(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

感謝各位的閱讀,以上就是“怎么在JavaScript字符串的字符之間添加空格”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)怎么在JavaScript字符串的字符之間添加空格這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI