0
votes

Avoir un problème sur chargement des données d'attributs complexes dans une matrice de tableau

J'ai un ensemble d'élément qui a des attributs de données. Je suis capable de charger des attributs de données unique à un tableau de tableau code> dataaraay code> mais sur Taille de données code> qui est comme un groupe de tableaux en format à chaîne Je ne sais pas comment charger les dans le dataarray code> à ressembler exactement à xxx pré>

Comment puis-je résoudre ce problème? p>

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="data" data-number="1" data-avaiable="true" data-brand="X1" data-size="[48, 14,139]" data-app="android" ></div>
<div class="data" data-number="3" data-avaiable="false" data-brand="M200" data-size="[49,15,135],[51,15,140]" data-app="ios" ></div>
<div class="data" data-number="5" data-avaiable="true" data-brand="T500" data-size="[49,800,135],[51,200,140],[52,16,141]" data-app="windows" ></div>


0 commentaires

3 Réponses :


3
votes

Vous pouvez entourer la valeur de la taille de données code> de la taille de données de code> entre crochets, après quoi vous pouvez json.parse code> pour obtenir une matrice de tableaux de celui-ci. Ensuite, aplaticez le tableau et jetez les éléments de taille aux chaînes:

p>

<div class="data" data-number="1" data-avaiable="true" data-brand="X1" data-size="[48, 14,139]" data-app="android"></div>
<div class="data" data-number="3" data-avaiable="false" data-brand="M200" data-size="[49,15,135],[51,15,140]" data-app="ios"></div>
<div class="data" data-number="5" data-avaiable="true" data-brand="T500" data-size="[49,800,135],[51,200,140],[52,16,141]" data-app="windows"></div>


0 commentaires

1
votes

La réponse par certaines performances est correcte et bien meilleure que la réponse suivante, mais la réponse suivante à mon avis est beaucoup plus facile à comprendre fort> à un programmeur de base.

Ce code fait ce que vous faisiez (j'ai poussé le data-app code> à la fin, car c'est comme ça que vous vouliez), sauf qu'il a une ligne très longue juste après le gros . pousser () code>. Ce que cette ligne fait est p>

  1. Il reçoit la taille code> DATA LI>
  2. le convertit d'un tableau à une chaîne li>
  3. remplace toutes les crochets afin qu'il devienne une chaîne dans laquelle toutes les "tailles" sont séparées par des virgules li>
  4. scindine la chaîne de la virgule pour en faire un tableau avec tout fort> de la valeur de la taille li>
  5. boucle à travers ce tableau et appuie la valeur actuelle dans dataarray code> li> ol>

    et bien sûr, à la fin, il pousse le data-app code> pour en faire dans l'ordre que vous vouliez. p>

    p>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="data" data-number="1" data-avaiable="true" data-brand="X1" data-size="[48, 14,139]" data-app="android"></div>
    <div class="data" data-number="3" data-avaiable="false" data-brand="M200" data-size="[49,15,135],[51,15,140]" data-app="ios"></div>
    <div class="data" data-number="5" data-avaiable="true" data-brand="T500" data-size="[49,800,135],[51,200,140],[52,16,141]" data-app="windows"></div>


0 commentaires

1
votes

Ceci est une autre solution à l'aide de la méthode Concat code>.

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="data" data-number="1" data-avaiable="true" data-brand="X1" data-size="[48, 14,139]" data-app="android"></div>
<div class="data" data-number="3" data-avaiable="false" data-brand="M200" data-size="[49,15,135],[51,15,140]" data-app="ios"></div>
<div class="data" data-number="5" data-avaiable="true" data-brand="T500" data-size="[49,800,135],[51,200,140],[52,16,141]" data-app="windows"></div>


0 commentaires