web-dev-qa-db-fra.com

Comment créer un tableau dans jQuery?

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

Comment créer un tableau dans jQuery et utiliser ce tableau au lieu de { pageNo: $(this).text(), sortBy: $("#sortBy").val()}

66
vick

Quelques idées:

  • jQuery est une bibliothèque JavaScript, pas un langage. Ainsi, les tableaux JavaScript ressemblent à ceci:

    var someNumbers = [1, 2, 3, 4, 5];
    
  • { pageNo: $(this).text(), sortBy: $("#sortBy").val()} est une carte de la valeur à la valeur. Si vous voulez un tableau des clés ou des valeurs, vous pouvez faire quelque chose comme ceci:

    var keys = [];
    var values = [];
    
    var object = { pageNo: $(this).text(), sortBy: $("#sortBy").val()};
    $.each(object, function(key, value) {
        keys.Push(key);
        values.Push(value);
    });
    
  • les objets en JavaScript sont incroyablement flexibles. Si vous souhaitez créer un objet {foo: 1}, toutes les tâches suivantes sont exécutées:

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

Pour conclure, vous voulez ça?

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

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

Vous pouvez confondre les tableaux Javascript avec les tableaux PHP. En PHP, les tableaux sont très flexibles. Ils peuvent être soit indexés numériquement, soit associatifs, voire même mixtes.

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

D'autres langues considèrent ces deux choses comme étant différentes, le Javascript étant parmi elles. Un tableau en Javascript est toujours indexé numériquement:

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

Un "tableau associatif", également appelé hachage ou carte, techniquement un objet en Javascript *, fonctionne comme suit:

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

Ils ne sont pas interchangeables. Si vous avez besoin de "clés de tableau", vous devez utiliser un objet. Si vous ne le faites pas, vous faites un tableau.


* Techniquement tout est un objet en Javascript, veuillez le mettre de côté pour cet argument. ;)

28
deceze

Pas tout à fait clair ce que tu veux dire. Peut-être:

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

Voici l'exemple de travail clair:

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

Je ne me sers pas de jQuery depuis un moment, mais vous cherchez peut-être ceci:

jQuery.makeArray (obj)

1
Shimmy

Voici un exemple que j'ai utilisé.

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

votre question n'a aucun sens. vous demandez comment transformer un hachage en tableau. Vous ne pouvez pas.

vous pouvez faire une liste de valeurs, ou une liste de clés, et aucune d’elles n’a rien à voir avec jquery, c’est du javascript pur

0
mkoryak