-3
我在面試中被問及以下場景的代碼。在javascript中定義數組函數
var ele = [2,5,4,8,4,9].second();
如果上述語句是用javascript編寫的,它應該包含該數組中第二個最高的元素。在這種情況下,它應該包含8.
你如何爲此編寫代碼?我想我們將不得不寫一個function second()
但我們如何調用確保它將該數組作爲參數?
請幫我這個。先謝謝你。
我在面試中被問及以下場景的代碼。在javascript中定義數組函數
var ele = [2,5,4,8,4,9].second();
如果上述語句是用javascript編寫的,它應該包含該數組中第二個最高的元素。在這種情況下,它應該包含8.
你如何爲此編寫代碼?我想我們將不得不寫一個function second()
但我們如何調用確保它將該數組作爲參數?
請幫我這個。先謝謝你。
向Array對象的原型添加一個方法。
Array.prototype.second = function() {
// Your logic here
}
這應該讓你開始
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;
};
你應該包括錯誤處理,並有足夠的空間來優化該解決方案。
你已經試過了什麼? –
'Array.prototype.second = function(){return 8; }' –