使用JavaScript在纯函数中的多行末尾填充

时间:2018-09-20 18:51:22

标签: javascript

我必须在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,“”)});

输出为: 未定义

有人可以给我提示我做错了什么以及我还需要做些什么? (请不要告诉您完整的答案)。

1 个答案:

答案 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);