Maison >interface Web >js tutoriel >Exemple de méthode d'insertion ou de mise à jour de dictionnaire de classe implémentée dans les compétences JavaScript_javascript

Exemple de méthode d'insertion ou de mise à jour de dictionnaire de classe implémentée dans les compétences JavaScript_javascript

WBOY
WBOYoriginal
2016-05-16 15:50:341530parcourir

L'exemple de cet article décrit la méthode d'insertion ou de mise à jour de type dictionnaire implémentée en JavaScript. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

Le code exprime les idées pertinentes d'insertion ou de mise à jour de type dictionnaire. Les amis intéressés peuvent simplement comprendre la signification du code et n'ont pas besoin d'approfondir trop profondément

.
<script type="text/javascript">
  function insertOrUpdate(array, keyName, keyVal, fieldNames, fieldVals) {
  var hasExist = false;
  var len = array.length;
  for (var i = 0; i < len; i++) {
   if (array[i][keyName] && array[i][keyName] == keyVal) {
   // 已存在则直接更新
   hasExist = true;
   for (var j = 0; j < fieldNames.length; j++) {
    array[i][fieldNames[j]] = fieldVals[j];
   }
   }
  }
  if (!hasExist) {// 如果不存在则插入
   array[len] = {};
   array[len][keyName] = keyVal;
   for (var k = 0; k < fieldNames.length; k++) {
   array[len][fieldNames[k]] = fieldVals[k];
   }
  }
  }
  var orders = [
    {
    "OrderId" : 1,
    "OrderAmount" : {
     "OldValue" : 10,
     "NewValue" : 20
    }
    }, 
    {
    "OrderId" : 2,
    "OrderAmount" : {
     "OldValue" : 20,
     "NewValue" : 30
    }
    }];
  insertOrUpdate(orders, "OrderId", 1, ["OrderAmount"], [{"OldValue": 145, "NewValue": 1125}]);
  console.dir(orders);
  insertOrUpdate(orders, "OrderId", 3, ["OrderAmount"], [{"OldValue": 75, "NewValue": 95}]);
  console.dir(orders);
</script>

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn