2つの値を比較し-1,0,-1のいずれかを返す(ascending, descending)

説明

D3.jsで2つの値を比較し-1,0,-1のいずれかを返すにはd3.ascending()メソッドかdescending()メソッドを使います。どちらのメソッドも2つのパラメーターが必要です。d3.ascending(a,b)の場合、a=bなら0,a<bなら-1、a>bなら1を返します。d3.ascending(a,b)の場合はascendingと返される結果が逆になり、a=bなら0,a<bなら1、a>bなら-1になります。
このメソッドはゲームなどでは敵と自分の位置を比較し、どちらの方向に移動すべきかを求める場合にも使えます。1980年代のBASIC言語にあったSGN()関数と同じです。(なかったBASICもありますが)

サンプル [サンプルを実行する] [サンプルをダウンロード]

HTMLソース

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3.js サンプル</title>
<link rel="stylesheet" href="css/main.css">
<script src="http://d3js.org/d3.v3.min.js" charset="utf-8"></script>
</head>
<body>
<h1>D3.jsサンプル</h1>
<div id="result"></div>
<script src="js/sample.js"></script>
</body>
</html>

JavaScriptコード

var n1 = d3.ascending(10, 5);
var n2 = d3.ascending(5, 10);
var n3 = d3.ascending(5, 5);
var n4 = d3.descending(10, 5);
var n5 = d3.descending(5, 10);
var n6 = d3.descending(5, 5);
d3.select("#result").html("●ascendingの場合<br>n1 = "+n1+"<br>n2 = "+n2+"<br>n3 = "+n3+"<br>●ascendingの場合<br>n4 = "+n4+"<br>n5 = "+n5+"<br>n6 = "+n6);