Heim >Web-Frontend >js-Tutorial >Beispiel für eine Methode zum Einfügen oder Aktualisieren eines Klassenwörterbuchs, die in JavaScript_Javascript-Kenntnissen implementiert ist

Beispiel für eine Methode zum Einfügen oder Aktualisieren eines Klassenwörterbuchs, die in JavaScript_Javascript-Kenntnissen implementiert ist

WBOY
WBOYOriginal
2016-05-16 15:50:341530Durchsuche

Das Beispiel in diesem Artikel beschreibt die in JavaScript implementierte wörterbuchähnliche Einfüge- oder Aktualisierungsmethode. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Der Code drückt die relevanten Ideen des wörterbuchähnlichen Einfügens oder Aktualisierens aus, sodass interessierte Freunde die Bedeutung des Codes einfach verstehen können und nicht zu tief in die Materie eintauchen müssen

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

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn