웹 프론트엔드 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

시각적 웹 개발 도구

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