我们到了。卡住。

我决定创建一个函数,以查找数字最多的元素。如果其中两个具有相同的长度,则返回第一个。常识告诉我们,这可能是最高的数字。这是代码片段:



function findLongest(array) {
  var biggestNum = 0;

  for(var i = 0; i < array.length; i++) {
    if(array[i] > biggestNum) {
      biggestNum = array[i];
    }
  }
  return biggestNum;
}

findLongest([111,1111,5555,10000,1,90000]); //returns 90000 instead of 10000.





但是,我不能满足第二个条件(如果两个的长度相同,则返回第一个)。

任何想法?

最佳答案

如果要进行数字长度比较,请将项目转换为string并使用其中的length



function findLongest(array) {
  var biggestNum = 0;

  for(var i = 0; i < array.length; i++) {

    if(array[i].toString().length > biggestNum.toString().length) {
      biggestNum = array[i];
    }

  }

  return biggestNum;
}

console.log(findLongest([111, 1111, 5555, 10000, 1, 90000]));

08-07 08:29