2017-08-07 8 views
1

私はjavascriptを使用して昇順でソートしていましたが、私は固執しています。 HTML: JavaScriptが昇順に並んでいない

<h2>JavaScript Array Sort</h2> 

<p>Click the button to sort the array in ascending order.</p> 

<button onclick="myFunction()">I will arrange</button> 

<p id="demo"></p> 

</body> 

JS:

var points = [7, 1, 6, 3, 5, 2]; 
document.getElementById("demo").innerHTML = points;  

function myFunction() { 
    points.sort(function(a, b){return a - b}); 
    document.getElementById("demo").innerHTML = points; 
} 

JSフィドルリンク:https://jsfiddle.net/djmayank/uef3xexk/
私は私のミスを取得しておりません。どんな種類の助けにも感謝します。

+0

ページの '' にスクリプトを追加していない:あなたはJSフィドルの負荷タイプを設定する必要がありhttps://jsfiddle.net/xqn9oc56/ – Andreas

+1

:いいえラップイン – Lixus

+1

あなたがグローバルで関数を定義する必要がありますがスコープ –

答えて

3

JSFiddleでNo wrap - in <body>オプションを使用しない限り、イベントハンドラを使用して関数を呼び出す必要があります。

JS

var submit = document.querySelector('#submit') 
var output = document.getElementById('demo') 

var points = [40, 100, 1, 5, 25, 10]; 

output.innerHTML = points; 

function sortArray() { 
    points.sort(function(a, b) { 
    return a - b 
    }); 

    output.innerHTML = points; 
} 

submit.addEventListener('click', function(event) { 
    event.preventDefault() 

    sortArray() 
}) 

HTML

<h2>JavaScript Array Sort</h2> 

<p>Click the button to sort the array in ascending order.</p> 

<button id="submit">I will arrange</button> 

<p id="demo"></p> 

JSFiddleデモ:https://jsfiddle.net/uef3xexk/3/

1

あなたはjsfiddleでこれを開発していますか?もしそうなら、javascriptの設定で、コードが "body"にロードされたときに変更します。

そうでない場合、あなたはそれにリストを追加するDOMにあることが#demoを必要とするので、文書本体がレンダリングされるとき

document.getElementById("demo").innerHTML = points; 

を実行することにしたいです。

// example onload on body 
<body onload="initalDemoInnerHtml()"> 

// js code 
function initalDemoInnerHtml() { 
    document.getElementById("demo").innerHTML = points; 
} 

myFunction()は、上記のコードと同じスクリプトタグで定義する必要があります。

<script type="text/javascript"> 
    var points = [7, 1, 6, 3, 5, 2]; 
    function initalDemoInnerHtml() { 
    document.getElementById("demo").innerHTML = points; 
    } 
    function myFunction() { 
    points.sort(function(a, b){return a - b}); 
    document.getElementById("demo").innerHTML = points; 
    } 
</script> 

このスクリプトは、headタグに追加する必要があります。

関連する問題