JS中字符串的字符之间加一个空格

在字符串的字符之间添加一个空格

Add a Space between the Characters of a String in JS

要在字符串的字符之间添加空格,请调用字符串split()上的方法以获取字符数组,然后调用join()数组上的方法以使用空格分隔符连接子字符串,例如
str.split('').join(' ').

索引.js
const str = 'apple'; const result = str.split('').join(' '); console.log(result); // 👉️ "a p p l e"

我们使用
String.split()
方法将字符串拆分为字符数组。

当使用空字符串分隔符调用时,该split()方法会将字符串转换为字符数组。

索引.js
const str = 'apple'; // 👇️ ['a', 'p', 'p', 'l', 'e'] console.log(str.split(''));

最后一步是使用空格分隔符调用
Array.join
方法。

索引.js
// 👇️ "a b c" console.log(['a', 'b', 'c'].join(' '));

join()方法根据提供的分隔符将数组元素连接成一个字符串。

如果您的字符串包含空格,您可能需要从数组中删除空元素。
索引.js
const str = 'app le'; // 👇️ ['a', 'p', 'p', ' ', ' ', 'l', 'e'] console.log(str.split(''));

我们在每个字符上拆分字符串,因此数组包含空字符串元素。

我们可以使用
Array.filter
方法删除空字符串。

索引.js
const str = 'app le'; const result = str .split('') .filter(element => element.trim()) .join(' '); // 👇️ "a p p l e" console.log(result);

我们传递给filter方法的函数被数组中的每个元素调用。

在每次迭代中,我们使用该trim()方法从数组元素中删除任何前导或尾随空格。

如果元素仅包含空格,则trim()返回空字符串。
索引.js
console.log(' '.trim()); // 👉️ ""

filter方法返回一个新数组,其中仅包含回调函数返回的真值。

Truthy are all the values that are not falsy.

The falsy values in JavaScript are: false, null, undefined, 0, ""
(empty string), NaN (not a number).

Since empty strings are falsy, none of the empty strings get added to the array
that the filter method returns.

Alternatively, you could use a
for…of
loop.

To add a space between the characters of a string:

  1. Use a for...of loop to iterate over the string.
  2. Declare an empty string variable.
  3. On each iteration, add the character and a space to the string.
index.js
const str = 'app le'; let spaced = ''; for (const char of str) { if (char.trim()) { spaced += char + ' '; } } console.log(spaced); // 👉️ "a p p l e"

We used the for...of loop to iterate over the string.

We check if each character is not an space before adding the character and a
space to the new string.

split()此方法实现与使用和方法相同的结果join()

如果您不需要处理字符串包含空格的情况,请删除该if块。

索引.js
const str = 'apple'; let spaced = ''; for (const char of str) { spaced += char + ' '; } console.log(spaced); // 👉️ "a p p l e"