我必须在javascript的多行中使用padEnd()。 示例:
thread_cache_size=100 # from 8 for multi-threading w 8 cores CAP at 100 per V 5.7
我的方法是: str.split(/ \ n / g).forEach((v)=> {v.padEnd(5,“”)});
输出为: 未定义
有人可以给我提示我做错了什么以及我还需要做些什么? (请不要告诉您完整的答案)。
答案 0 :(得分:2)
您可以使用.map()方法代替forEach。最后,您可以在结果上.join(),以便取回字符串。
map和forEach之间的主要区别是:
map()方法创建一个新数组,其结果是在调用数组中的每个元素上调用提供的函数。
forEach()方法为每个数组元素执行一次提供的函数。
如果您稍作更改,您的方法就会起作用:
str = str.split(/\n/);
str.forEach((v, idx) => {str[idx] = v.padEnd(5, ".")});
^^^^^^^^^^^^
var str = '12ab\n121\n51';
str = str.split(/\n/).map((ele) => ele.padEnd(5, '.')).join('\n');
console.log('"' + str + '"');
// a diferent aproach
var str1 = '12ab\n121\n51';
str1 = str1.split(/\n/);
str1.forEach((v, idx) => {str1[idx] = v.padEnd(5, ".")});
console.log(str1);