在javascript中定义数组函数

时间:2015-09-24 22:04:48

标签: javascript arrays frontend web-frontend

我在接受采访时被要求编写以下方案的代码。

var ele = [2,5,4,8,4,9].second();

如果上面的语句是用javascript编写的,那么它应该包含该数组中第二高的元素。在这种情况下,它应该包含8。

你怎么写这个代码?我假设我们必须写一个function second()

但我们如何调用确保它将数组作为该参数?

请帮我解决这个问题。提前谢谢。

2 个答案:

答案 0 :(得分:2)

这应该让你开始

Array.prototype.second = function() {
  var biggest = -Infinity;
  var second = -Infinity;
  for (var i = 0; i < this.length; ++i) {
    if (this[i] > biggest) {
      second = biggest;
      biggest = this[i];
    } else if (this[i] < biggest && this[i] > second) {
      second = this[i];
    }
  }
  return second;
};

您应该包含错误处理,并且有足够的空间来优化此解决方案。

答案 1 :(得分:1)

将方法添加到Array对象的 Prototype

Array.prototype.second = function() {
  // Your logic here
}