以下是一个简单的JavaScript单词折行算法:
function wordWrap(str, width) { let result = ""; let line = ""; const words = str.trim().split(" "); for (let i = 0; i < words.length; i++) { const word = words[i]; if (line.length + word.length <= width) { line += word + " "; } else { result += line.trim() + "\n"; line = word + " "; } } return result + line.trim(); }
此算法将一个字符串和一个宽度作为输入,并返回已包装的字符串。它首先使用trim()
方法从字符串中删除任何前导或尾随空格,并使用split()
方法将其拆分为单独的单词。然后,它遍历每个单词,并使用if
语句将单词添加到当前行中,直到达到指定的宽度。一旦当前行已满,它将当前行添加到结果字符串中,并将行重置为下一个未包括在当前行中的单词。最后,它返回完全包装的字符串。