如何在jquery中创建数组?

vic*_*ick 68 javascript arrays jquery

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

如何在jQuery中创建一个数组并使用该数组而不是 { pageNo: $(this).text(), sortBy: $("#sortBy").val()}

ojr*_*rac 123

一些想法:

  • jQuery是一个JavaScript库,而不是一种语言.所以,JavaScript数组看起来像这样:

    var someNumbers = [1, 2, 3, 4, 5];
    
    Run Code Online (Sandbox Code Playgroud)
  • { 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);
    });
    
    Run Code Online (Sandbox Code Playgroud)
  • JavaScript中的对象非常灵活.如果要创建对象{foo: 1},请执行以下所有操作:

    var obj = {foo: 1};
    
    var obj = {};
    obj['foo'] = 1;
    
    var obj = {};
    obj.foo = 1;
    
    Run Code Online (Sandbox Code Playgroud)

总结一下,你想要这个吗?

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

$("#results").load("jquery-routing.php", data);
Run Code Online (Sandbox Code Playgroud)


dec*_*eze 29

您可能会将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')
Run Code Online (Sandbox Code Playgroud)

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

['Item 1', 'Item 2', 'Item 3']  // array (numerically indexed)
Run Code Online (Sandbox Code Playgroud)

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

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

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


*从技术上讲,一切都是Javascript中的对象,请把它放在一边讨论这个论点.;)


Mat*_*hen 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>
Run Code Online (Sandbox Code Playgroud)

  • 我知道JavaScript数组和对象之间的区别.然而,似乎问题的真正意义在于动态构造参数. (2认同)

Aja*_*tra 5

这是一个清晰的工作示例:

//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
Run Code Online (Sandbox Code Playgroud)


Shi*_*mmy 1

我有一段时间没有使用 jquery 但你可能正在寻找这个:

jQuery.makeArray(obj)