-3

このスタックの最小値を見つけようとしています。ただし、これを JSFiddle で実行するたびに何も出力されません...誰かが理由を説明してくれますか? コードは次のとおりです。

function min_stack() {
var min = 0; 
this.elements = [];

this.push = function(element) {
    this.elements.push(element);
}

this.pop = function() {
    return this.elements.pop();
}

this.min = function() {
    min = this.elements[0]; 
    if (this.elements.length > 0) {
        for(int i = 0; i < this.elements.length; i++) {
            if (min > this.elements[i]) {
                min = this.elements[i]; 
            }
        }
    }
    return min; 
   }    

}

var myStack = new min_stack();
myStack.push(5);
myStack.push(4);
myStack.push(3);
print("[" + myStack.elements + "]");
print("min:" + myStack.min());
myStack.pop();
print("[" + myStack.elements + "]");
print("min:" + myStack.min());
myStack.pop();
print("[" + myStack.elements + "]");
print("min:" + myStack.min());
4

2 に答える 2

2

forブラウザコンソールにすぐに表示される構文エラーがあります

変化する:

for(int i = 0; i < this.elements.length; i++) { 

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

デモ:http://jsfiddle.net/y7wET/

コメントで指摘されているように、私はあなたが使いたいとは思わないprint

于 2012-12-25T05:43:50.663 に答える
1

int i = 0;は有効な JavaScript ではありません。JavaScript では、宣言時に変数の型を指定することはできません。代わりに、を使用してvar i = 0;ください。

また、「window」はグローバル オブジェクトであるため、Web ページのコンテキストでは、print() は、ページをプリンターに印刷するwindow.print()と同等です。

デバッグの目的で、 window.alert()を使用してメッセージ ボックスをポップアップできます。それが煩わしい場合は、代わりに出力を textarea 要素に追加するなどのことを行うことができます。

于 2012-12-25T05:47:26.507 に答える