gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 14:22:58 24 4
gpt4 key购买 nike

我必须在 javascript 的多行中使用 padEnd()。示例:

pad('12ab\n121\n51', 5)
> '12ab \n121 \n51 '

我的做法是: str.split(/\n/g).forEach((v) => {v.padEnd(5 , "")});

输出是:未定义

有人可以提示我做错了什么以及我还需要做什么吗? (请不要说出完整的答案)。

最佳答案

您可以使用 .map()方法而不是 forEach。最后你可以.join()在结果上以获得字符串。

map 和 forEach 的主要区别在于:

  • The map() method creates a new array with the results of calling a provided function on every element in the calling array.

  • The forEach() method executes a provided function once for each array element.

如果您稍微改变一下,您的方法就会奏效:

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

关于javascript - 使用 JavaScript 在纯函数的多行末尾填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52431481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com