Javascript数组不会排序

时间:2016-11-27 18:21:40

标签: javascript

以下代码不会对任何想法进行排序?

function findLongestWord(str) {
  var splitString = str.split(" ");
  var lengths = [];
  for(var i= 0; i< splitString.length; i++){
    lengths += splitString[i].length;
  }
  lengths.sort(function(a,b){return b-a;});
  return lengths;
}
findLongestWord("The quick brown fox jumped over the lazy dog");

2 个答案:

答案 0 :(得分:1)

你需要推动长度,而不是添加到数组中。

function findLongestWord(str) {
    var splitString = str.split(" ");
    var lengths = [];
    for (var i = 0; i < splitString.length; i++) {
        lengths.push(splitString[i].length);
        //     ^^^^^^                     ^
    }
    lengths.sort(function (a, b) { return b - a; });
    return lengths;
}
console.log(findLongestWord("The quick brown fox jumped over the lazy dog"));

答案 1 :(得分:0)

数组连接在JavaScript中不像那样工作。你想要:

<div class="menu">
  <div class="button1"></div>
</div>

在提问时请具体说明,例如&#34;不会排序&#34;不是诊断。

明确错误(例如,关于lengths.push(splitString[i].length) 不是函数的控制台警告)。

错误消息会引导您询问:

  • 哦,为什么不呢?
  • 当我尝试拨打lengths.sort时,我lengths了什么?
  • 哦,它不是阵列。我想知道为什么不呢?

因为JavaScript。

注意和诊断错误是一项重要技能。对于像这样的琐碎问题,控制台是你最好的朋友,因为它可以让你一次尝试一件事。