web-dev-qa-db-ja.com

jqueryで配列を作成するにはどうすればよいですか?

$(document).ready(function() {
  $("a").click(function() {
    $("#results").load("jquery-routing.php", 
       { pageNo: $(this).text(), sortBy: $("#sortBy").val()} 
    );
    return false;
  });
}); 

JQueryで配列を作成し、{ pageNo: $(this).text(), sortBy: $("#sortBy").val()}の代わりにその配列を使用する方法

65
vick

いくつかの考え:

  • jQueryはJavaScriptライブラリであり、言語ではありません。したがって、JavaScript配列は次のようになります。

    var someNumbers = [1, 2, 3, 4, 5];
    
  • { pageNo: $(this).text(), sortBy: $("#sortBy").val()}は、キーと値のマップです。キーまたは値の配列が必要な場合は、次のようなことができます。

    var keys = [];
    var values = [];
    
    var object = { pageNo: $(this).text(), sortBy: $("#sortBy").val()};
    $.each(object, function(key, value) {
        keys.Push(key);
        values.Push(value);
    });
    
  • javaScriptのオブジェクトは非常に柔軟です。オブジェクト{foo: 1}を作成する場合、以下のすべてが機能します。

    var obj = {foo: 1};
    
    var obj = {};
    obj['foo'] = 1;
    
    var obj = {};
    obj.foo = 1;
    

最後に、これが必要ですか?

var data = {};
// either way of changing data will work:
data.pageNo = $(this).text();
data['sortBy'] = $("#sortBy").val();

$("#results").load("jquery-routing.php", data);
120
ojrac

JavaScript配列をPHP配列と混同している可能性があります。 PHPでは、配列は非常に柔軟です。それらは、数値的に索引付けされるか、連想的であるか、あるいは混合されることさえあります。

array('Item 1', 'Item 2', 'Items 3')  // numerically indexed array
array('first' => 'Item 1', 'second' => 'Item 2')  // associative array
array('first' => 'Item 1', 'Item 2', 'third' => 'Item 3')

他の言語では、これら2つを異なるものと見なし、Javascriptもその中にあります。 Javascriptの配列には、常に数値インデックスが付けられます。

['Item 1', 'Item 2', 'Item 3']  // array (numerically indexed)

ハッシュまたはマップとも呼ばれる「連想配列」、厳密にはJavascript *のオブジェクトは、次のように機能します。

{ first : 'Item 1', second : 'Item 2' }  // object (a.k.a. "associative array")

互換性はありません。 「配列キー」が必要な場合は、オブジェクトを使用する必要があります。そうでない場合は、配列を作成します。


*技術的にはeverythingはJavascriptのオブジェクトです。この引数については脇に置いてください。 ;)

28
deceze

意味が完全には明確ではありません。おそらく:

<script type="text/javascript"> 
$(document).ready(function() {
  $("a").click(function() {
    var params = {};
    params['pageNo'] = $(this).text();
    params['sortBy'] = $("#sortBy").val();
    $("#results").load( "jquery-routing.php", params );
    return false;
  });
}); 
</script>
10

明確な作業例を次に示します。

//creating new array
var custom_arr1 = [];


//storing value in array
custom_arr1.Push("test");
custom_arr1.Push("test1");

alert(custom_arr1);
//output will be  test,test1
4
Ajay Malhotra

私はしばらくの間jqueryを使用していませんが、あなたはこれを探しているかもしれません:

jQuery.makeArray(obj)

1
Shimmy

これが私が使った例です。

<script>
  $(document).ready(function(){
      var array =  $.makeArray(document.getElementsByTagName(“p”));
      array.reverse(); 
      $(array).appendTo(document.body);
  });
</script>
0
Srikar Doddi

あなたの質問は意味がありません。ハッシュを配列に変換する方法を尋ねています。 カント

値のリストまたはキーのリストを作成できますが、これらのどちらもjqueryとは関係ありません、これは純粋なjavascriptです

0
mkoryak