js怎么给字符串赋值(如何在 JavaScript 中的字符串的字符之间添加空格)
在今天的文章中 ,我们将学习如何轻松地在 JavaScript 中的字符串字符之间包含空格 。
1.String split() 和 Split join() 方法
要在字符串的字符之间添加空格 ,请对字符串调用 split() 方法以获取字符数组 ,然后对该数组调用 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 aString split() 方法使用指定的分隔符将字符串拆分为子字符串数组。
const str1 = coffee,milk,tea; const str2 = sun-moon-star; console.log(str1.split(,)); // [ coffee, milk, tea ] console.log(str2.split(-)); // [ sun, moon, star ]通过使用空字符串 () 作为分隔符 ,我们将所有字符串字符拆分为单独的数组元素 。
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() 方法将数组中的每个字符串与分隔符组合在一起 。 它返回一个包含串联数组元素的新字符串 。
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() 会在生成的连接中用空格分隔字符 。
在某些情况下 ,字符串已经在某些字符之间包含空格 。 在这种情况下 ,我们的方法会在字符之间添加更多的空格 。
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这是因为空格 ( ) 也是一个字符 ,就像一个字母 ,调用 split() 会使它成为数组中的一个单独元素,该元素将与其他空格组合 。
// 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() 方法的调用 。
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 aArray filter() 方法返回一个新数组 ,其中仅包含原始数组中的元素,从传递给 filter() 的测试回调函数返回真值 。 在空格 ( ) 上调用 trim() 会产生一个空字符串 () ,这在 JavaScript 中不是真值。 因此 ,从 filter() 返回的结果数组中排除了空格 。
小技巧:
在 JavaScript 中,只有六个假值:false 、null 、undefined、0 、 (空字符串)和 NaN 。 其他所有值都是真实的。
2.for…of 循环
对于命令的方法 ,我们可以使用 JavaScript for...of 循环在字符串的字符之间添加一个空格 。
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要处理前面讨论的情况 ,其中字符串在某些字符之间有空格 ,请在每次迭代的字符上调用 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创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!