• ベストアンサー

Math.minについて

配列に格納した値の最小値を取得するために、下記のようなソースを書いたのですが、 配列の値全てが表示されてしまいます。どこが間違っているでしょうか? var latlng2 = new Array() ; for (var i = 0; i < 5; i++) { var lat1 = i; latlng2[i] = lat1; } alert(Math.min(latlng2));

質問者が選んだベストアンサー

  • ベストアンサー
  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 配列の場合は Math.min.apply(Math,latlng2) だと思います。

25taku
質問者

お礼

解決致しました! ありがとうございます!

関連するQ&A

  • ActionScriptで配列をクリアする方法を教えてください。

    ActionScriptで、オブジェクトを格納した配列をクリアする正しい方法を教えてください。 具体的には、 ・new Array() で配列を生成する。 ・new Object() で生成したオブジェクトを配列に格納する。 ・配列の中身を処理したあと、配列を一度クリアする。 ・配列に別のオブジェクトを格納する。 ような処理をしたいのですが、メモリリークを起こさずに配列をクリアするにはどうしたらいいでしょうか? 例えば、イメージはこんな感じです。(意味のないコードですが) // 配列の生成 var arr = new Array(); // 配列にオブジェクトを格納 for (var i = 0; i < 5; i++) { var obj = new Object(); obj.num = i; } // 配列のクリア arr.length = 0; // クリアした配列に別のオブジェクトを格納 for (var i = 0; i < 5; i++) { var obj = new Object(); obj.num = i * 2; } 上記のコードで、arr.length = 0; で配列をクリアしていますが、これで配列に格納されたオブジェクトが確保したメモリがすべて解放されるでしょうか? あるいは、配列の内容がなくなるまで pop() 等で取り出す等の処理をする必要があるでしょうか? 以上よろしくお願いします。

    • ベストアンサー
    • Flash
  • jqueryのajax()内からグローバル配列に

    jqueryのajax(){success: function()内からグローバル連想配列に値を格納したい。 jqueryのajax()でhtmlファイルを読み込み配列に格納。 その後他の関数で使いたいと考えていますが グローバル連想配列に格納できません。 success: function()内でさらに関数を定義もして見ましたが反応せず。。。 (プルダウンメニューを変更したら実行する関数) 以下ソースになります。 ----------------------------------------------------------- $(function() { objectarray = new Object(); $.ajax({ type: 'GET', url: 'hoge.html', dataType: 'html', success: function(data) { var text = [];   $(data).each(function(i){ text = $(this).text().split("\n"); }); var alldata = $.grep(text, function(e){return e;});//空白やデータなしを削除 for(i=0; i<alldata.length; i++){ objectarray[i] = (alldata[i]); alert("forの中" + objectarray[i]);//取得できた } alert("forの外" + objectarray);//取得できた return objectarray;//あってもなくても変わらない。。。 }, error:function() { alert('問題がありました。htmlデータがありませんでした。'); }             //return objectarray;←有効にするとjsが認識されなくなります。 }); alert("ajaxの外" + objectarray[0]);//何も表示されない、firebugでみるとobjectarrayには値が入っている。 }); ----------------------------------------------------------- 上記はnew Object()でやっておりますがnew Array()でも同じ結果でした。 回避策をご教授いただけましたら幸いです。 どうぞよろしくお願いいたします。

  • 配列に格納した値が保存されない

    DB(Access)から取得した内容を配列に格納し、その内容を取り出すプログラムを 以下のように書いてみました。 whileループ内の alert("ループの中=" + data_array[i]); では配列の中の値が参照できるのですが whileループの外で for(var i=0;i < data_array.length; i++){ alert("ループの外:" + data_array[i]); } 配列の中身を表示させようとしたところdata_array.length の長さが0になっており 配列の中身が参照できない状態です。なにが原因かわかりますでしょうか。 <html> <script language="javascript" type="text/javascript"> function dbSearch() { var sql="select * from URL where flg=0"; var database = dbConnect(); var recordSet = database.Execute(sql); var data_array = new Array(); while (!recordSet.EOF){ data_array[i] = recordSet(0); alert("ループの中=" + data_array[i]); recordSet.MoveNext(); } alert("長さ=" + data_array.length); for(var i=0;i < data_array.length; i++){ alert("ループの外:" + data_array[i]); } database.Close(); return; } //データベースに接続 function dbConnect() { var database = new ActiveXObject("ADODB.Connection"); database.Open("Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\\test.mdb;"); return database; } </script> <body> <input type="button" value="DB接続" onclick="dbSearch()"> </body> </html>

  • srcの使用方法について

    var array:Array = new Array(); for (var i = 0; i<images.length; i++) { array.push({src:images[i].firstChild.nodeValue}); } mcLoader.loadClip(array[i].src, thisMC); srcの使用方法について,どのような意味なんでしょうか? 構文などを調べてみても掲載させていませんでした. array[i].srcでは,配列に格納された名前を取ってきているようですが,いまいち理解できません.配列以外の変数では変数の値の名前をsrcを利用して参照することは可能なのでしょうか?

    • ベストアンサー
    • Flash
  • ソート

    お世話になります。配列のソートなのですが、どうも思い通りの結果になりません。 配列の中から最大値と最小値を探し、最小値を配列0に、最大値を配列の最後に移動します。その2つ以外の数字の順番は変えません。 例) {4,3,2,0,1,2} 最小値は0、最大値は4なので→{0,3,2,1,2,4} {4,3,2,1} → {1,3,2,4} {1,3,2,4,} → {1,3,2,4} 流れとしては、まず最小値を求め配列0に移動させ、次に最大値を求め配列の最後に移動させようと思います。 プログラムは以下のように組みました。 public int[] sortOfSort(int[] array) { int count_min = 0; int min = array[0]; for (int i = 0; i < array.length-1; i++) { // 最小値を求める if (min > array[i + 1]) { min = array[i + 1]; count_min++; // 最小値の配列のインデックスを確保 } } for (int k = count_min; k > 0; k--) { // 最小値の移動 int temp_min = array[k - 1]; array[k - 1] = array[k]; array[k] = temp_min; } int count_max = 0; int max = array[0]; for (int j = 0; j < array.length-1; j++) { // 最大値を求める if (max < array[j + 1]) { max = array[j + 1]; count_max++; // 最大値の配列のインデックスを確保 } } for (int l = count_max; l < array.length-1; l++) { //最大値の移動 int temp_max = array[l + 1]; array[l + 1] = array[l]; array[l] = temp_max; } return array; } 間違っているところがわかりましたら宜しくお願いします。

    • ベストアンサー
    • Java
  • フレームに配置したムービークリップを配列に格納

    ActionScript3.0を使っています。よろしくお願いします。 動的にインスタンスを生成して配列に格納する方法は すでに取得しているのですが、 フレームに配置したインスタンスを配列に格納する方法がわかりません。 配置したインスタンス名は連番になっており、 数が多いため下記のようにループさせて配列に格納したいと思います。 現在のコードは下記のとおりです。 var mapBtMcArr:Array = new Array(); for(var i:int=1; i<9; i++) { var mapBtStr:String = "r_machi01_"+ i; var mapBt:MovieClip = mapBtStr; mapBtMcArr.push(mapBt); trace(mapBtMcArr); } これだと、型Stringの値が関連しない型…というエラーが表示されてしまいます。 スクリプトを書く上での基本だと思いますが、 ご伝授いただければ幸いです。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 連想配列(PHP 対 JavaScript)

    こんにちは。質問をさせてください。 PHPでOracleのデータを取得してそのデータを連想配列に格納するとします。 /------- PHP内でのソース -----------------/ (例) $Count:検索データ数  for($cnt=0;$cnt<$Count;$cnt++){ $data[$cnt] = "取得したデータ";  Fech(次のレコードを取得する); } 上記で取得した連想配列の値をJavaScriptでしようしたいのですが うまくいきません。 JavaScriptではArrayに取得したデータを格納したいのです。 (例) /-- JavaScript内のソース Afor2=new Array("取得data1","取得data2",・・・"最後の取得data"); としてHTMLの何かのイベント時にしようしたいと考えています。 今僕は以下のような動きをしたいです。 /----以下、JavaScriptでの記述-----------------/ var New_Array=new Array(5); for(i=0;i<<?=$Count?>;i++){ document.form.cmb_box.options[i] = new Option(<?=$data[i]?>, i); } のようなことをしたいのですが。 (もちろん上記はだめですが・・・) 質問がわかりにくくて大変もうしわけありませんが、 アドバイス、質問などよろしくお願いいたします。

    • 締切済み
    • PHP
  • AS3.0ですが、下記2つのコードの違いがわかりません。。

    AS3.0ですが、下記2つのコードの違いがわかりません。。 ↓こちらのコードは undefined になるのですが、 --------------------------------- var box:Array = new Array(); for(var j=0; j<1; j++){ for(var i=0; i<10; i++){ box[j] = new Array(); box[j][i] = i+j; } } trace(box[0][0]); ----------------------------------- ↓こちらのコードは値をとることが出来ます。 ----------------------------------- var box:Array = new Array(); for(var k=0; k<10; k++){ box[k] = new Array(); } for(var j=0; j<1; j++){ for(var i=0; i<10; i++){ box[j][i] = i+j; } } trace(box[0][1]); ----------------------------------- どういう理由で、値が取れるのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • jquery ui mapについて

    jquery ui mapを使って以下のようなソースで マーカーを表示させ、MarkerClustererでマーカをまとめています。 $('#map_canvas').gmap({ 'center': new google.maps.LatLng(35.873686,139.657075)}).bind('init', function(evt, map) { var data = new Array(); data.push({lat:'35.681382', lng:'139.766084',name:'東京駅',images:'http://google-maps-icons.googlecode.com/files/friends.png'}); data.push({lat:'35.684801', lng:'139.766086',name:'大手町駅',images:'http://google-maps-icons.googlecode.com/files/friends.png'}); for ( var i = 0; i < data.length; i++ ) { $('#map_canvas').gmap('addMarker', { 'icon': data[i].images,'position': new google.maps.LatLng(data[i].lat, data[i].lng) } ).click(function() { $('#map_canvas').gmap('openInfoWindow', { 'content' : data[i].name }); }); } $('#map_canvas').gmap('set', 'MarkerClusterer', new MarkerClusterer(map, $(this).gmap('get', 'markers'))); }); マーカーの緯度経度とインフォウィンドウの内容を配列にしています。 配列の緯度経度からマーカーは表示できたのですが、 マーカーをクリックすると、インフォウィンドウが開かず、「undefined」となります。 わかる方、ご教授宜しくお願いいたします。

  • 配列の中の一部を削除する方法がわかりません。

    配列の中の一部を削除する方法がわかりません。 Javascriptに、連想配列はないと、どこかのサイトで書いてありましたが やりたいことは、ある配列(連想配列)というより、オブジェクト?があり、 そこにキーと対応すrる値があるデータがあります。 キーを手がかりに、削除して一部のデータを削除する書き方を教えて欲しいです。 例えば var a = new Array(); for (var i = 0; i < 10; i++) { a[i] = [i]; } // この段階では、0=>[0], 1=>[1] ... 9=>[9]のデータがありますが、 // a[3] a[5] a[8]のデータをここで削除したい。 // 今回は、数値がキーですが文字列の場合も可能でしょうか? ??? for ( var i = 0; i < a.length; i++) { alert(a[i]); } // 7個のデータが表示される。 よろしくお願いいたします。

専門家に質問してみよう