迭代通过字符串中的单词

问题描述:

我想用下面的代码缩写给定字符串中的所有单词,但是我只能得到它来更改每个字符串的第一个单词。我究竟做错了什么?迭代通过字符串中的单词

function abbreviate(string) { 
    var words = string.split(" "); 
    for (var i = 0; i < words.length; i += 1) { 
    var count = words[i].length - 2; 
    var last = words[i].charAt(words[i].length - 1); 
    return words[i][0] + count + last; 
    } 
} 
+4

*“我在做什么了?” *你是'在循环的第一次迭代return'ing。 –

我认为这能解决你的问题

function abbreviate(string) { 
    var words = string.split(" "); 
    var answer = ""; 
    for (var i = 0; i < words.length; i += 1) { 

    var count = words[i].length - 2; 
    var last = words[i].charAt(words[i].length - 1); 
    answer= answer + words[i][0] + count + last; 
    } 
return answer; 
}