ホームページ ウェブフロントエンド jsチュートリアル JavaScript_javascript スキルに実装されたクラス辞書の挿入または更新メソッドの例

JavaScript_javascript スキルに実装されたクラス辞書の挿入または更新メソッドの例

May 16, 2016 pm 03:50 PM
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 プログラミング設計に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Blizzard Battle.net アップデートが 45% で止まってしまう問題を修正するにはどうすればよいですか? Blizzard Battle.net アップデートが 45% で止まってしまう問題を修正するにはどうすればよいですか? Mar 16, 2024 pm 06:52 PM

Blizzard Battle.net アップデートが 45% で止まってしまう問題を修正するにはどうすればよいですか?

エピックセブンの2月22日のアップデート:ミラクルメイドキングダムの第2週目が始まります エピックセブンの2月22日のアップデート:ミラクルメイドキングダムの第2週目が始まります Feb 21, 2024 pm 05:52 PM

エピックセブンの2月22日のアップデート:ミラクルメイドキングダムの第2週目が始まります

SQL での MINUS 演算子の使用 SQL での MINUS 演算子の使用 Feb 18, 2024 pm 04:53 PM

SQL での MINUS 演算子の使用

Ubuntu 24.04 に Angular をインストールする方法 Ubuntu 24.04 に Angular をインストールする方法 Mar 23, 2024 pm 12:20 PM

Ubuntu 24.04 に Angular をインストールする方法

MSI グラフィックス カード ドライバーを更新するにはどうすればよいですか? MSI グラフィックス カード ドライバーのダウンロードとインストールの手順 MSI グラフィックス カード ドライバーを更新するにはどうすればよいですか? MSI グラフィックス カード ドライバーのダウンロードとインストールの手順 Mar 13, 2024 pm 08:49 PM

MSI グラフィックス カード ドライバーを更新するにはどうすればよいですか? MSI グラフィックス カード ドライバーのダウンロードとインストールの手順

ランタンとダンジョン2月29日更新:リマスター版╳「ネザの伝説」連携 ランタンとダンジョン2月29日更新:リマスター版╳「ネザの伝説」連携 Feb 28, 2024 am 08:13 AM

ランタンとダンジョン2月29日更新:リマスター版╳「ネザの伝説」連携

Windows は指定されたデバイス、パス、またはファイルにアクセスできません Windows は指定されたデバイス、パス、またはファイルにアクセスできません Jun 18, 2024 pm 04:49 PM

Windows は指定されたデバイス、パス、またはファイルにアクセスできません

jQueryを使用してチェックボックスの選択状態のリアルタイム更新を実装する jQueryを使用してチェックボックスの選択状態のリアルタイム更新を実装する Feb 23, 2024 pm 03:45 PM

jQueryを使用してチェックボックスの選択状態のリアルタイム更新を実装する

See all articles