// Copyright (c) 1999 M.Inamori,All rights reserved. // Coded 9/3/99 // // max() min() sum() // // それぞれ、最大値・最小値・合計を返します。 // 引数はいくつでも、数値または配列、またはその混合を取ります。 // 例えば、max(3, new Array(1, 2), 4) なら4が返ります。 // 引数がないまたは長さ0の配列しかない場合、maxとminはnullを返します。 function max() { var result, arg, i, j, ary; result = null; arg = max.arguments; for(i = 0; i < arg.length; i++) { if(arg[i].length) { ary = arg[i]; for(j = 0; j < ary.length; j++) if(result == null) result = ary[j]; else if(ary[j] > result) result = ary[j]; } else { if(result == null) result = arg[i]; else if(arg[i] > result) result = arg[i]; } } return result; } function min() { var result, arg, i, j, ary; result = null; arg = min.arguments; for(i = 0; i < arg.length; i++) { if(arg[i].length) { ary = arg[i]; for(j = 0; j < ary.length; j++) if(result == null) result = ary[j]; else if(ary[j] < result) result = ary[j]; } else { if(result == null) result = arg[i]; else if(arg[i] < result) result = arg[i]; } } return result; } function sum() { var result, arg, i, j, ary; result = 0; arg = sum.arguments; for(i = 0; i < arg.length; i++) { if(arg[i].length) { ary = arg[i]; for(j = 0; j < ary.length; j++) result += ary[j]; } else result += arg[i]; } return result; }