Javascript 有没有办法将字符串截断到某些字符,而不在单词之间结束

Javascript 有没有办法将字符串截断到某些字符,而不在单词之间结束,javascript,jquery,Javascript,Jquery,我正在使用java中的一些代码将某些字符串截断为某些字符,但不在单词之间。下面是我在java中使用的代码 public static String truncateTo(String originalText, int len) { if (originalText.length() > len) { if (originalText.charAt(len) != ' ') { for (int x=len-1;x>=0;x--) {

我正在使用
java
中的一些代码将某些字符串截断为某些字符,但不在单词之间。下面是我在java中使用的代码

public static String truncateTo(String originalText, int len) {
    if (originalText.length() > len) {
        if (originalText.charAt(len) != ' ') {
            for (int x=len-1;x>=0;x--) {
                if (Character.isWhitespace(originalText.charAt(x))) {
                    return originalText.substring(0, x);
                }
            }
        }
        // default if none of the conditions are met
        return originalText.substring(0, len);
    }
    return originalText;
}
我需要在
javascript
中做同样的事情。 到目前为止已经试过了

if ($('#notificationData').html().length > 60) {
    if ($('#notificationData').html().charAt(60) != ' ') {
        for (var x=60-1;x>=0;x--) {
            if ($('#notificationData').html().charAt(x)) {
                    return $('#notificationData').html().substring(0, x);
            }
        }
    }
      // default if none of the conditions are met
    console.log( $('#notificationData').html().substring(0, len));
}
你在上有个错误

if ($('#notificationData').html().charAt(x)) {
你不需要检查空格

下面是正确的(和重构的)代码


但还是有问题。
function truncateTo(originalText, len) {

    if (originalText.length > len) {
        if (originalText[len] != ' ') {
            for (var x = len-1; x >= 0; x--) {
                if (originalText[x] == ' ') {
                    return originalText.substring(0, x);
                }
            }
        }

        return originalText.substring(0, len);
    }

    return originalText;
}