如何在jquery中创建数组?

时间:2010-04-16 02:50:09

标签: javascript jquery arrays

$(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()}

7 个答案:

答案 0 :(得分:120)

一些想法:

  • 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);

答案 1 :(得分:28)

您可能会将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')

其他语言认为这两者是不同的东西,Javascript就在其中。 Javascript中的数组始终以数字形式编制索引:

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

“关联数组”,也称为Hash或Map,技术上是Javascript *中的Object,其工作方式如下:

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

它们不可互换。如果需要“数组键”,则需要使用对象。如果不这样做,你就制作了一个数组。


*技术上所有是Javascript中的一个对象,请把它放在一边讨论这个论点。 ;)

答案 2 :(得分:10)

不完全清楚你的意思。也许:

<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>

答案 3 :(得分:4)

以下是明确的工作示例:

//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 :(得分:1)

我暂时没有使用jquery,但你可能正在寻找这个:

jQuery.makeArray(obj)

答案 5 :(得分:0)

这是我使用的一个例子。

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

答案 6 :(得分:0)

你的问题毫无意义。你问的是如何将哈希变成一个数组。 你不能

你可以创建一个值列表,或者创建一个键列表,这些都与jquery无关,这是纯粹的javascript

相关问题