JavaScript数组对象插入或更新实现

作者:拾光时间:2026-10-29 12:27:22浏览:301

本文介绍一种在JavaScript中实现类似字典功能的数组插入或更新方法。通过遍历数组比对键值,若存在则更新指定字段,若不存在则添加新对象。示例展示了如何基于OrderId进行数据维护,供开发者参考。

JavaScript数组插入或更新实现

本文展示了一种在JavaScript中实现类似字典功能的数组插入或更新方法。

代码主要演示了该类字典插入或更新的核心逻辑,读者理解其实现思路即可。


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

希望这段代码示例能对JavaScript程序设计提供有益参考。

作者最新文章