JavaScript 没有创建由唯一的白色-space 子字符串组成的字符串?
JavaScript not creating a string made up of sole white-space sub-strings?
所以我正在创建一个函数,该函数应该根据作为函数参数传递的数字创建一个由 x 个白色-space 组成的字符串。问题是,当我 运行 代码时,我收到错误“无效字符串长度”,所以基本上不将 white-spaces 算作字符。
请看下面我的代码:
function ajustarTexto(str, num) {
let len = str.length;
newstr = str;
whtspc = (" ");
if (len < num){
for (let i = 0; i >= 0 ; i++){
newstr = whtspc += whtspc;
};
}else if (len > num) {
newstr.splice(num);
};
return newstr;
};
console.log(ajustarTexto("", 3)) // " "
console.log(ajustarTexto("hola", 2)) // "ho"
console.log(ajustarTexto("Hola", 0)) // ""
console.log(ajustarTexto("Hola", 5)) // "Hola "
我曾尝试以不同的方式定义 whtspc
变量,但我总是收到“无效的字符串长度”错误。
我有没有搞错?
有没有一种特定的方法可以创建我不知道的 white-space 变量?
有了这个
newstr = whtspc += whtspc;
您每次迭代都将 whtspc
字符串的长度加倍。该表达式等效于:
whtspc += whtspc;
newstr = whtspc;
因此,在循环内部,whtspc
从长度 1 开始,到 2,然后是 4,然后是 8,等等。最终,没有更多的空间并引发错误。
将输入字符串切成所需的长度以删除可能多余的尾随字符,然后 padEnd
用空格将其填充到所需的长度,如果输入字符串的长度恰好小于 num
:
function ajustarTexto(str, num) {
return str.slice(0, num).padEnd(num, ' ');
}
console.log(ajustarTexto("", 3)) // " "
console.log(ajustarTexto("hola", 2)) // "ho"
console.log(ajustarTexto("Hola", 0)) // ""
console.log(ajustarTexto("Hola", 5)) // "Hola "
所以我正在创建一个函数,该函数应该根据作为函数参数传递的数字创建一个由 x 个白色-space 组成的字符串。问题是,当我 运行 代码时,我收到错误“无效字符串长度”,所以基本上不将 white-spaces 算作字符。
请看下面我的代码:
function ajustarTexto(str, num) {
let len = str.length;
newstr = str;
whtspc = (" ");
if (len < num){
for (let i = 0; i >= 0 ; i++){
newstr = whtspc += whtspc;
};
}else if (len > num) {
newstr.splice(num);
};
return newstr;
};
console.log(ajustarTexto("", 3)) // " "
console.log(ajustarTexto("hola", 2)) // "ho"
console.log(ajustarTexto("Hola", 0)) // ""
console.log(ajustarTexto("Hola", 5)) // "Hola "
我曾尝试以不同的方式定义 whtspc
变量,但我总是收到“无效的字符串长度”错误。
我有没有搞错? 有没有一种特定的方法可以创建我不知道的 white-space 变量?
有了这个
newstr = whtspc += whtspc;
您每次迭代都将 whtspc
字符串的长度加倍。该表达式等效于:
whtspc += whtspc;
newstr = whtspc;
因此,在循环内部,whtspc
从长度 1 开始,到 2,然后是 4,然后是 8,等等。最终,没有更多的空间并引发错误。
将输入字符串切成所需的长度以删除可能多余的尾随字符,然后 padEnd
用空格将其填充到所需的长度,如果输入字符串的长度恰好小于 num
:
function ajustarTexto(str, num) {
return str.slice(0, num).padEnd(num, ' ');
}
console.log(ajustarTexto("", 3)) // " "
console.log(ajustarTexto("hola", 2)) // "ho"
console.log(ajustarTexto("Hola", 0)) // ""
console.log(ajustarTexto("Hola", 5)) // "Hola "