UNPKG

wsemi

Version:

A support package for web developer.

611 lines (541 loc) 49.2 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>arrDiff.mjs - Documentation</title> <script src="scripts/prettify/prettify.js"></script> <script src="scripts/prettify/lang-css.js"></script> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <link type="text/css" rel="stylesheet" href="styles/prettify.css"> <link type="text/css" rel="stylesheet" href="styles/jsdoc.css"> <script src="scripts/nav.js" defer></script> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <input type="checkbox" id="nav-trigger" class="nav-trigger" /> <label for="nav-trigger" class="navicon-button x"> <div class="navicon"></div> </label> <label for="nav-trigger" class="overlay"></label> <nav > <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="wsemi.html">wsemi</a><ul class='methods'><li data-type='method'><a href="wsemi.html#.ab2blob">ab2blob</a></li><li data-type='method'><a href="wsemi.html#.ab2u8arr">ab2u8arr</a></li><li data-type='method'><a href="wsemi.html#.addExcelWorksheetFromData">addExcelWorksheetFromData</a></li><li data-type='method'><a href="wsemi.html#.addMonth">addMonth</a></li><li data-type='method'><a href="wsemi.html#.aes2str">aes2str</a></li><li data-type='method'><a href="wsemi.html#.alive">alive</a></li><li data-type='method'><a href="wsemi.html#.arr2dt">arr2dt</a></li><li data-type='method'><a href="wsemi.html#.arrAccum">arrAccum</a></li><li data-type='method'><a href="wsemi.html#.arrAdd">arrAdd</a></li><li data-type='method'><a href="wsemi.html#.arrAt">arrAt</a></li><li data-type='method'><a href="wsemi.html#.arrDiff">arrDiff</a></li><li data-type='method'><a href="wsemi.html#.arrFilterByKeywords">arrFilterByKeywords</a></li><li data-type='method'><a href="wsemi.html#.arrFilterByNum">arrFilterByNum</a></li><li data-type='method'><a href="wsemi.html#.arrFilterByPnum">arrFilterByPnum</a></li><li data-type='method'><a href="wsemi.html#.arrFilterByPnumAndToLog">arrFilterByPnumAndToLog</a></li><li data-type='method'><a href="wsemi.html#.arrFind">arrFind</a></li><li data-type='method'><a href="wsemi.html#.arrGroupByMaxmin">arrGroupByMaxmin</a></li><li data-type='method'><a href="wsemi.html#.arrHas">arrHas</a></li><li data-type='method'><a href="wsemi.html#.arrInsert">arrInsert</a></li><li data-type='method'><a href="wsemi.html#.arrLookupByMaxmin">arrLookupByMaxmin</a></li><li data-type='method'><a href="wsemi.html#.arrMax">arrMax</a></li><li data-type='method'><a href="wsemi.html#.arrMin">arrMin</a></li><li data-type='method'><a href="wsemi.html#.arrMulti">arrMulti</a></li><li data-type='method'><a href="wsemi.html#.arrNorm">arrNorm</a></li><li data-type='method'><a href="wsemi.html#.arrProduct">arrProduct</a></li><li data-type='method'><a href="wsemi.html#.arrReduce">arrReduce</a></li><li data-type='method'><a href="wsemi.html#.arrSep">arrSep</a></li><li data-type='method'><a href="wsemi.html#.arrSort">arrSort</a></li><li data-type='method'><a href="wsemi.html#.asind">asind</a></li><li data-type='method'><a href="wsemi.html#.atan2d">atan2d</a></li><li data-type='method'><a href="wsemi.html#.atand">atand</a></li><li data-type='method'><a href="wsemi.html#.attstr">attstr</a></li><li data-type='method'><a href="wsemi.html#.b642obj">b642obj</a></li><li data-type='method'><a href="wsemi.html#.b642str">b642str</a></li><li data-type='method'><a href="wsemi.html#.b642u16arr">b642u16arr</a></li><li data-type='method'><a href="wsemi.html#.b642u8arr">b642u8arr</a></li><li data-type='method'><a href="wsemi.html#.binstr">binstr</a></li><li data-type='method'><a href="wsemi.html#.blob2ab">blob2ab</a></li><li data-type='method'><a href="wsemi.html#.blob2b64">blob2b64</a></li><li data-type='method'><a href="wsemi.html#.blob2str">blob2str</a></li><li data-type='method'><a href="wsemi.html#.blob2u8arr">blob2u8arr</a></li><li data-type='method'><a href="wsemi.html#.blobs2b64s">blobs2b64s</a></li><li data-type='method'><a href="wsemi.html#.blobs2u8arrs">blobs2u8arrs</a></li><li data-type='method'><a href="wsemi.html#.bodyLog">bodyLog</a></li><li data-type='method'><a href="wsemi.html#.browserView">browserView</a></li><li data-type='method'><a href="wsemi.html#.browserViewFromBlob">browserViewFromBlob</a></li><li data-type='method'><a href="wsemi.html#.browserViewFromText">browserViewFromText</a></li><li data-type='method'><a href="wsemi.html#.browserViewFromU8arr">browserViewFromU8arr</a></li><li data-type='method'><a href="wsemi.html#.bs2u8arr">bs2u8arr</a></li><li data-type='method'><a href="wsemi.html#.bufRead">bufRead</a></li><li data-type='method'><a href="wsemi.html#.bufReadDbl">bufReadDbl</a></li><li data-type='method'><a href="wsemi.html#.bufWrite">bufWrite</a></li><li data-type='method'><a href="wsemi.html#.bufWriteDbl">bufWriteDbl</a></li><li data-type='method'><a href="wsemi.html#.cache">cache</a></li><li data-type='method'><a href="wsemi.html#.cbol">cbol</a></li><li data-type='method'><a href="wsemi.html#.cdbl">cdbl</a></li><li data-type='method'><a href="wsemi.html#.cfilesize">cfilesize</a></li><li data-type='method'><a href="wsemi.html#.cfinancial">cfinancial</a></li><li data-type='method'><a href="wsemi.html#.cint">cint</a></li><li data-type='method'><a href="wsemi.html#.clearXSS">clearXSS</a></li><li data-type='method'><a href="wsemi.html#.color">color</a></li><li data-type='method'><a href="wsemi.html#.composeToTree">composeToTree</a></li><li data-type='method'><a href="wsemi.html#.convertToTree">convertToTree</a></li><li data-type='method'><a href="wsemi.html#.copyStrToClipboard">copyStrToClipboard</a></li><li data-type='method'><a href="wsemi.html#.cosd">cosd</a></li><li data-type='method'><a href="wsemi.html#.cotd">cotd</a></li><li data-type='method'><a href="wsemi.html#.createExcelWorkbook">createExcelWorkbook</a></li><li data-type='method'><a href="wsemi.html#.cscd">cscd</a></li><li data-type='method'><a href="wsemi.html#.cstr">cstr</a></li><li data-type='method'><a href="wsemi.html#.day2cht">day2cht</a></li><li data-type='method'><a href="wsemi.html#.debounce">debounce</a></li><li data-type='method'><a href="wsemi.html#.delay">delay</a></li><li data-type='method'><a href="wsemi.html#.dig">dig</a></li><li data-type='method'><a href="wsemi.html#.digExp">digExp</a></li><li data-type='method'><a href="wsemi.html#.domAlert">domAlert</a></li><li data-type='method'><a href="wsemi.html#.domAppend">domAppend</a></li><li data-type='method'><a href="wsemi.html#.domCancelEvent">domCancelEvent</a></li><li data-type='method'><a href="wsemi.html#.domCompareText">domCompareText</a></li><li data-type='method'><a href="wsemi.html#.domCompareTextDyn">domCompareTextDyn</a></li><li data-type='method'><a href="wsemi.html#.domConvertToPic">domConvertToPic</a></li><li data-type='method'><a href="wsemi.html#.domConvertToPicDyn">domConvertToPicDyn</a></li><li data-type='method'><a href="wsemi.html#.domDetect">domDetect</a></li><li data-type='method'><a href="wsemi.html#.domDrag">domDrag</a></li><li data-type='method'><a href="wsemi.html#.domDragBarAndScroll">domDragBarAndScroll</a></li><li data-type='method'><a href="wsemi.html#.domDragPreview">domDragPreview</a></li><li data-type='method'><a href="wsemi.html#.domDropFiles">domDropFiles</a></li><li data-type='method'><a href="wsemi.html#.domElementsFromPoint">domElementsFromPoint</a></li><li data-type='method'><a href="wsemi.html#.domFadeIn">domFadeIn</a></li><li data-type='method'><a href="wsemi.html#.domFadeOut">domFadeOut</a></li><li data-type='method'><a href="wsemi.html#.domFind">domFind</a></li><li data-type='method'><a href="wsemi.html#.domFinds">domFinds</a></li><li data-type='method'><a href="wsemi.html#.domGetAttr">domGetAttr</a></li><li data-type='method'><a href="wsemi.html#.domGetBoudRect">domGetBoudRect</a></li><li data-type='method'><a href="wsemi.html#.domGetBoudRectRefSelf">domGetBoudRectRefSelf</a></li><li data-type='method'><a href="wsemi.html#.domGetFileAccept">domGetFileAccept</a></li><li data-type='method'><a href="wsemi.html#.domGetFiles">domGetFiles</a></li><li data-type='method'><a href="wsemi.html#.domGetParents">domGetParents</a></li><li data-type='method'><a href="wsemi.html#.domGetPointFromEvent">domGetPointFromEvent</a></li><li data-type='method'><a href="wsemi.html#.domGetScrollableParent">domGetScrollableParent</a></li><li data-type='method'><a href="wsemi.html#.domGetWindowSize">domGetWindowSize</a></li><li data-type='method'><a href="wsemi.html#.domIsClientXYIn">domIsClientXYIn</a></li><li data-type='method'><a href="wsemi.html#.domIsFocused">domIsFocused</a></li><li data-type='method'><a href="wsemi.html#.domIsVisible">domIsVisible</a></li><li data-type='method'><a href="wsemi.html#.domPrepend">domPrepend</a></li><li data-type='method'><a href="wsemi.html#.domRemove">domRemove</a></li><li data-type='method'><a href="wsemi.html#.domRenderMarkdownMind">domRenderMarkdownMind</a></li><li data-type='method'><a href="wsemi.html#.domRenderMarkdownMindDyn">domRenderMarkdownMindDyn</a></li><li data-type='method'><a href="wsemi.html#.domRipple">domRipple</a></li><li data-type='method'><a href="wsemi.html#.domScrollIntoView">domScrollIntoView</a></li><li data-type='method'><a href="wsemi.html#.domScrollTo">domScrollTo</a></li><li data-type='method'><a href="wsemi.html#.domShowImages">domShowImages</a></li><li data-type='method'><a href="wsemi.html#.domShowImagesDyn">domShowImagesDyn</a></li><li data-type='method'><a href="wsemi.html#.domShowInputAndGetFiles">domShowInputAndGetFiles</a></li><li data-type='method'><a href="wsemi.html#.domShowInputAndGetFilesU8Arrs">domShowInputAndGetFilesU8Arrs</a></li><li data-type='method'><a href="wsemi.html#.domTooltip">domTooltip</a></li><li data-type='method'><a href="wsemi.html#.domTriggerEvent">domTriggerEvent</a></li><li data-type='method'><a href="wsemi.html#.domVirtualCreate">domVirtualCreate</a></li><li data-type='method'><a href="wsemi.html#.domVirtualCreateQueue">domVirtualCreateQueue</a></li><li data-type='method'><a href="wsemi.html#.downloadExcelFileFromData">downloadExcelFileFromData</a></li><li data-type='method'><a href="wsemi.html#.downloadExcelFileFromDataDyn">downloadExcelFileFromDataDyn</a></li><li data-type='method'><a href="wsemi.html#.downloadFileFromB64">downloadFileFromB64</a></li><li data-type='method'><a href="wsemi.html#.downloadFileFromBlob">downloadFileFromBlob</a></li><li data-type='method'><a href="wsemi.html#.downloadFileFromText">downloadFileFromText</a></li><li data-type='method'><a href="wsemi.html#.downloadFileFromU8Arr">downloadFileFromU8Arr</a></li><li data-type='method'><a href="wsemi.html#.dtmapping">dtmapping</a></li><li data-type='method'><a href="wsemi.html#.dtpick">dtpick</a></li><li data-type='method'><a href="wsemi.html#.evem">evem</a></li><li data-type='method'><a href="wsemi.html#.execProcess">execProcess</a></li><li data-type='method'><a href="wsemi.html#.execScript">execScript</a></li><li data-type='method'><a href="wsemi.html#.f2c">f2c</a></li><li data-type='method'><a href="wsemi.html#.filepathToTree">filepathToTree</a></li><li data-type='method'><a href="wsemi.html#.files2data">files2data</a></li><li data-type='method'><a href="wsemi.html#.flattenToConn">flattenToConn</a></li><li data-type='method'><a href="wsemi.html#.flattenTree">flattenTree</a></li><li data-type='method'><a href="wsemi.html#.fsCleanFolder">fsCleanFolder</a></li><li data-type='method'><a href="wsemi.html#.fsCopyFolder">fsCopyFolder</a></li><li data-type='method'><a href="wsemi.html#.fsCreateFile">fsCreateFile</a></li><li data-type='method'><a href="wsemi.html#.fsCreateFolder">fsCreateFolder</a></li><li data-type='method'><a href="wsemi.html#.fsDeleteFile">fsDeleteFile</a></li><li data-type='method'><a href="wsemi.html#.fsDeleteFolder">fsDeleteFolder</a></li><li data-type='method'><a href="wsemi.html#.fsEvem">fsEvem</a></li><li data-type='method'><a href="wsemi.html#.fsGetFilesInFolder">fsGetFilesInFolder</a></li><li data-type='method'><a href="wsemi.html#.fsGetFoldersInFolder">fsGetFoldersInFolder</a></li><li data-type='method'><a href="wsemi.html#.fsIsFile">fsIsFile</a></li><li data-type='method'><a href="wsemi.html#.fsIsFolder">fsIsFolder</a></li><li data-type='method'><a href="wsemi.html#.fsReadText">fsReadText</a></li><li data-type='method'><a href="wsemi.html#.fsRenameFile">fsRenameFile</a></li><li data-type='method'><a href="wsemi.html#.fsRenameFolder">fsRenameFolder</a></li><li data-type='method'><a href="wsemi.html#.fsTreeFolder">fsTreeFolder</a></li><li data-type='method'><a href="wsemi.html#.fsWatchFile">fsWatchFile</a></li><li data-type='method'><a href="wsemi.html#.fsWriteText">fsWriteText</a></li><li data-type='method'><a href="wsemi.html#.genGradientColor">genGradientColor</a></li><li data-type='method'><a href="wsemi.html#.genID">genID</a></li><li data-type='method'><a href="wsemi.html#.genPm">genPm</a></li><li data-type='method'><a href="wsemi.html#.getBufferSize">getBufferSize</a></li><li data-type='method'><a href="wsemi.html#.getClearPathName">getClearPathName</a></li><li data-type='method'><a href="wsemi.html#.getCsvStrFromData">getCsvStrFromData</a></li><li data-type='method'><a href="wsemi.html#.getDataFromExcelFileU8Arr">getDataFromExcelFileU8Arr</a></li><li data-type='method'><a href="wsemi.html#.getDataFromExcelFileU8ArrDyn">getDataFromExcelFileU8ArrDyn</a></li><li data-type='method'><a href="wsemi.html#.getDirName">getDirName</a></li><li data-type='method'><a href="wsemi.html#.getEnv">getEnv</a></li><li data-type='method'><a href="wsemi.html#.getExcelU8ArrFromData">getExcelU8ArrFromData</a></li><li data-type='method'><a href="wsemi.html#.getExcelU8ArrFromWorkbook">getExcelU8ArrFromWorkbook</a></li><li data-type='method'><a href="wsemi.html#.getExcelWorkbookFromData">getExcelWorkbookFromData</a></li><li data-type='method'><a href="wsemi.html#.getExcelWorkbookFromWorksheet">getExcelWorkbookFromWorksheet</a></li><li data-type='method'><a href="wsemi.html#.getExcelWorksheetFromData">getExcelWorksheetFromData</a></li><li data-type='method'><a href="wsemi.html#.getFileAccept">getFileAccept</a></li><li data-type='method'><a href="wsemi.html#.getFileName">getFileName</a></li><li data-type='method'><a href="wsemi.html#.getFileTrueName">getFileTrueName</a></li><li data-type='method'><a href="wsemi.html#.getGlobal">getGlobal</a></li><li data-type='method'><a href="wsemi.html#.getObjSize">getObjSize</a></li><li data-type='method'><a href="wsemi.html#.getTimeBetween">getTimeBetween</a></li><li data-type='method'><a href="wsemi.html#.getTimeFromUnit">getTimeFromUnit</a></li><li data-type='method'><a href="wsemi.html#.getTimeObject">getTimeObject</a></li><li data-type='method'><a href="wsemi.html#.getTimeRange">getTimeRange</a></li><li data-type='method'><a href="wsemi.html#.getUserAgent">getUserAgent</a></li><li data-type='method'><a href="wsemi.html#.getUserAgentDyn">getUserAgentDyn</a></li><li data-type='method'><a href="wsemi.html#.getltdtkeys">getltdtkeys</a></li><li data-type='method'><a href="wsemi.html#.haskey">haskey</a></li><li data-type='method'><a href="wsemi.html#.html2pic">html2pic</a></li><li data-type='method'><a href="wsemi.html#.html2picDyn">html2picDyn</a></li><li data-type='method'><a href="wsemi.html#.html2str">html2str</a></li><li data-type='method'><a href="wsemi.html#.html2strDyn">html2strDyn</a></li><li data-type='method'><a href="wsemi.html#.htmlDecode">htmlDecode</a></li><li data-type='method'><a href="wsemi.html#.htmlEncode">htmlEncode</a></li><li data-type='method'><a href="wsemi.html#.importResources">importResources</a></li><li data-type='method'><a href="wsemi.html#.interp1">interp1</a></li><li data-type='method'><a href="wsemi.html#.isDev">isDev</a></li><li data-type='method'><a href="wsemi.html#.isEle">isEle</a></li><li data-type='method'><a href="wsemi.html#.isEleExistByID">isEleExistByID</a></li><li data-type='method'><a href="wsemi.html#.isEmail">isEmail</a></li><li data-type='method'><a href="wsemi.html#.isIE">isIE</a></li><li data-type='method'><a href="wsemi.html#.isNarrow">isNarrow</a></li><li data-type='method'><a href="wsemi.html#.isStrHasCapital">isStrHasCapital</a></li><li data-type='method'><a href="wsemi.html#.isStrHasLowerCase">isStrHasLowerCase</a></li><li data-type='method'><a href="wsemi.html#.isStrHasNumber">isStrHasNumber</a></li><li data-type='method'><a href="wsemi.html#.isUserIdentify">isUserIdentify</a></li><li data-type='method'><a href="wsemi.html#.isUserName">isUserName</a></li><li data-type='method'><a href="wsemi.html#.isUserPW">isUserPW</a></li><li data-type='method'><a href="wsemi.html#.isWindow">isWindow</a></li><li data-type='method'><a href="wsemi.html#.isab">isab</a></li><li data-type='method'><a href="wsemi.html#.isarr">isarr</a></li><li data-type='method'><a href="wsemi.html#.isarr0">isarr0</a></li><li data-type='method'><a href="wsemi.html#.isblob">isblob</a></li><li data-type='method'><a href="wsemi.html#.isbol">isbol</a></li><li data-type='method'><a href="wsemi.html#.isday">isday</a></li><li data-type='method'><a href="wsemi.html#.isearr">isearr</a></li><li data-type='method'><a href="wsemi.html#.iseobj">iseobj</a></li><li data-type='method'><a href="wsemi.html#.iser">iser</a></li><li data-type='method'><a href="wsemi.html#.isernot">isernot</a></li><li data-type='method'><a href="wsemi.html#.isestr">isestr</a></li><li data-type='method'><a href="wsemi.html#.isfun">isfun</a></li><li data-type='method'><a href="wsemi.html#.isint">isint</a></li><li data-type='method'><a href="wsemi.html#.ismonth">ismonth</a></li><li data-type='method'><a href="wsemi.html#.isn0int">isn0int</a></li><li data-type='method'><a href="wsemi.html#.isn0num">isn0num</a></li><li data-type='method'><a href="wsemi.html#.isnbr">isnbr</a></li><li data-type='method'><a href="wsemi.html#.isnint">isnint</a></li><li data-type='method'><a href="wsemi.html#.isnnum">isnnum</a></li><li data-type='method'><a href="wsemi.html#.isnull">isnull</a></li><li data-type='method'><a href="wsemi.html#.isnum">isnum</a></li><li data-type='method'><a href="wsemi.html#.isobj">isobj</a></li><li data-type='method'><a href="wsemi.html#.isobj0">isobj0</a></li><li data-type='method'><a href="wsemi.html#.isp0int">isp0int</a></li><li data-type='method'><a href="wsemi.html#.isp0num">isp0num</a></li><li data-type='method'><a href="wsemi.html#.ispint">ispint</a></li><li data-type='method'><a href="wsemi.html#.ispm">ispm</a></li><li data-type='method'><a href="wsemi.html#.ispnum">ispnum</a></li><li data-type='method'><a href="wsemi.html#.isstr">isstr</a></li><li data-type='method'><a href="wsemi.html#.isstr0">isstr0</a></li><li data-type='method'><a href="wsemi.html#.istime">istime</a></li><li data-type='method'><a href="wsemi.html#.istimeTZ">istimeTZ</a></li><li data-type='method'><a href="wsemi.html#.istimems">istimems</a></li><li data-type='method'><a href="wsemi.html#.istimemsTZ">istimemsTZ</a></li><li data-type='method'><a href="wsemi.html#.isu16arr">isu16arr</a></li><li data-type='method'><a href="wsemi.html#.isu8arr">isu8arr</a></li><li data-type='method'><a href="wsemi.html#.isundefined">isundefined</a></li><li data-type='method'><a href="wsemi.html#.j2o">j2o</a></li><li data-type='method'><a href="wsemi.html#.keysmat2ltdt">keysmat2ltdt</a></li><li data-type='method'><a href="wsemi.html#.log">log</a></li><li data-type='method'><a href="wsemi.html#.ltdt2vrtsable">ltdt2vrtsable</a></li><li data-type='method'><a href="wsemi.html#.ltdtDiff">ltdtDiff</a></li><li data-type='method'><a href="wsemi.html#.ltdtDiffByKey">ltdtDiffByKey</a></li><li data-type='method'><a href="wsemi.html#.ltdtkeys2mat">ltdtkeys2mat</a></li><li data-type='method'><a href="wsemi.html#.ltdtkeysheads2mat">ltdtkeysheads2mat</a></li><li data-type='method'><a href="wsemi.html#.ltdtmapping">ltdtmapping</a></li><li data-type='method'><a href="wsemi.html#.ltdtmerge">ltdtmerge</a></li><li data-type='method'><a href="wsemi.html#.ltdtpick">ltdtpick</a></li><li data-type='method'><a href="wsemi.html#.ltdtpull">ltdtpull</a></li><li data-type='method'><a href="wsemi.html#.mat2ltdt">mat2ltdt</a></li><li data-type='method'><a href="wsemi.html#.matConcat">matConcat</a></li><li data-type='method'><a href="wsemi.html#.matDiff">matDiff</a></li><li data-type='method'><a href="wsemi.html#.matat">matat</a></li><li data-type='method'><a href="wsemi.html#.now2str">now2str</a></li><li data-type='method'><a href="wsemi.html#.now2strp">now2strp</a></li><li data-type='method'><a href="wsemi.html#.nowDay2str">nowDay2str</a></li><li data-type='method'><a href="wsemi.html#.nowms2str">nowms2str</a></li><li data-type='method'><a href="wsemi.html#.nowms2strp">nowms2strp</a></li><li data-type='method'><a href="wsemi.html#.o2j">o2j</a></li><li data-type='method'><a href="wsemi.html#.obj2b64">obj2b64</a></li><li data-type='method'><a href="wsemi.html#.obj2pb64">obj2pb64</a></li><li data-type='method'><a href="wsemi.html#.obj2str">obj2str</a></li><li data-type='method'><a href="wsemi.html#.obj2stru8arr">obj2stru8arr</a></li><li data-type='method'><a href="wsemi.html#.obj2u8arr">obj2u8arr</a></li><li data-type='method'><a href="wsemi.html#.objSortBy">objSortBy</a></li><li data-type='method'><a href="wsemi.html#.objSortByKeys">objSortByKeys</a></li><li data-type='method'><a href="wsemi.html#.ocr">ocr</a></li><li data-type='method'><a href="wsemi.html#.ocrDyn">ocrDyn</a></li><li data-type='method'><a href="wsemi.html#.oo">oo</a></li><li data-type='method'><a href="wsemi.html#.openLink">openLink</a></li><li data-type='method'><a href="wsemi.html#.pb642obj">pb642obj</a></li><li data-type='method'><a href="wsemi.html#.pmChain">pmChain</a></li><li data-type='method'><a href="wsemi.html#.pmConvertResolve">pmConvertResolve</a></li><li data-type='method'><a href="wsemi.html#.pmHook">pmHook</a></li><li data-type='method'><a href="wsemi.html#.pmHookReject">pmHookReject</a></li><li data-type='method'><a href="wsemi.html#.pmIni">pmIni</a></li><li data-type='method'><a href="wsemi.html#.pmInvResolve">pmInvResolve</a></li><li data-type='method'><a href="wsemi.html#.pmMap">pmMap</a></li><li data-type='method'><a href="wsemi.html#.pmQueue">pmQueue</a></li><li data-type='method'><a href="wsemi.html#.pmSeries">pmSeries</a></li><li data-type='method'><a href="wsemi.html#.pmThrottle">pmThrottle</a></li><li data-type='method'><a href="wsemi.html#.pseudoRandom">pseudoRandom</a></li><li data-type='method'><a href="wsemi.html#.pseudoRandomIntRange">pseudoRandomIntRange</a></li><li data-type='method'><a href="wsemi.html#.pseudoRandomRange">pseudoRandomRange</a></li><li data-type='method'><a href="wsemi.html#.queue">queue</a></li><li data-type='method'><a href="wsemi.html#.rang">rang</a></li><li data-type='method'><a href="wsemi.html#.rep">rep</a></li><li data-type='method'><a href="wsemi.html#.repObj">repObj</a></li><li data-type='method'><a href="wsemi.html#.replace">replace</a></li><li data-type='method'><a href="wsemi.html#.replaceObj">replaceObj</a></li><li data-type='method'><a href="wsemi.html#.replacePlus">replacePlus</a></li><li data-type='method'><a href="wsemi.html#.round">round</a></li><li data-type='method'><a href="wsemi.html#.secd">secd</a></li><li data-type='method'><a href="wsemi.html#.sep">sep</a></li><li data-type='method'><a href="wsemi.html#.sepInt">sepInt</a></li><li data-type='method'><a href="wsemi.html#.sind">sind</a></li><li data-type='method'><a href="wsemi.html#.split">split</a></li><li data-type='method'><a href="wsemi.html#.str2aes">str2aes</a></li><li data-type='method'><a href="wsemi.html#.str2b64">str2b64</a></li><li data-type='method'><a href="wsemi.html#.str2hint">str2hint</a></li><li data-type='method'><a href="wsemi.html#.str2md5">str2md5</a></li><li data-type='method'><a href="wsemi.html#.str2obj">str2obj</a></li><li data-type='method'><a href="wsemi.html#.str2sha512">str2sha512</a></li><li data-type='method'><a href="wsemi.html#.str2u8arr">str2u8arr</a></li><li data-type='method'><a href="wsemi.html#.strCompare">strCompare</a></li><li data-type='method'><a href="wsemi.html#.strDiff">strDiff</a></li><li data-type='method'><a href="wsemi.html#.strFindFuzz">strFindFuzz</a></li><li data-type='method'><a href="wsemi.html#.strFindFuzzDyn">strFindFuzzDyn</a></li><li data-type='method'><a href="wsemi.html#.strFindSimilar">strFindSimilar</a></li><li data-type='method'><a href="wsemi.html#.strdelleft">strdelleft</a></li><li data-type='method'><a href="wsemi.html#.strdelright">strdelright</a></li><li data-type='method'><a href="wsemi.html#.strleft">strleft</a></li><li data-type='method'><a href="wsemi.html#.strmid">strmid</a></li><li data-type='method'><a href="wsemi.html#.strright">strright</a></li><li data-type='method'><a href="wsemi.html#.stru8arr2obj">stru8arr2obj</a></li><li data-type='method'><a href="wsemi.html#.tand">tand</a></li><li data-type='method'><a href="wsemi.html#.time2day">time2day</a></li><li data-type='method'><a href="wsemi.html#.time2hour">time2hour</a></li><li data-type='method'><a href="wsemi.html#.time2min">time2min</a></li><li data-type='method'><a href="wsemi.html#.timeTZ2day">timeTZ2day</a></li><li data-type='method'><a href="wsemi.html#.timeTZ2expire">timeTZ2expire</a></li><li data-type='method'><a href="wsemi.html#.timeTZ2hour">timeTZ2hour</a></li><li data-type='method'><a href="wsemi.html#.timeTZ2min">timeTZ2min</a></li><li data-type='method'><a href="wsemi.html#.timeTZ2past">timeTZ2past</a></li><li data-type='method'><a href="wsemi.html#.timems2day">timems2day</a></li><li data-type='method'><a href="wsemi.html#.timems2hour">timems2hour</a></li><li data-type='method'><a href="wsemi.html#.timems2min">timems2min</a></li><li data-type='method'><a href="wsemi.html#.timems2time">timems2time</a></li><li data-type='method'><a href="wsemi.html#.timemsTZ2day">timemsTZ2day</a></li><li data-type='method'><a href="wsemi.html#.timemsTZ2expire">timemsTZ2expire</a></li><li data-type='method'><a href="wsemi.html#.timemsTZ2hour">timemsTZ2hour</a></li><li data-type='method'><a href="wsemi.html#.timemsTZ2min">timemsTZ2min</a></li><li data-type='method'><a href="wsemi.html#.timemsTZ2past">timemsTZ2past</a></li><li data-type='method'><a href="wsemi.html#.timemsTZ2time">timemsTZ2time</a></li><li data-type='method'><a href="wsemi.html#.treeObj">treeObj</a></li><li data-type='method'><a href="wsemi.html#.treeToFilepath">treeToFilepath</a></li><li data-type='method'><a href="wsemi.html#.trim">trim</a></li><li data-type='method'><a href="wsemi.html#.u16arr2b64">u16arr2b64</a></li><li data-type='method'><a href="wsemi.html#.u16arr2u8arr">u16arr2u8arr</a></li><li data-type='method'><a href="wsemi.html#.u8arr2ab">u8arr2ab</a></li><li data-type='method'><a href="wsemi.html#.u8arr2b64">u8arr2b64</a></li><li data-type='method'><a href="wsemi.html#.u8arr2blob">u8arr2blob</a></li><li data-type='method'><a href="wsemi.html#.u8arr2bs">u8arr2bs</a></li><li data-type='method'><a href="wsemi.html#.u8arr2obj">u8arr2obj</a></li><li data-type='method'><a href="wsemi.html#.u8arr2str">u8arr2str</a></li><li data-type='method'><a href="wsemi.html#.u8arr2u16arr">u8arr2u16arr</a></li><li data-type='method'><a href="wsemi.html#.urlParse">urlParse</a></li><li data-type='method'><a href="wsemi.html#.verifyValue">verifyValue</a></li><li data-type='method'><a href="wsemi.html#.waitFun">waitFun</a></li></ul></li></ul> </nav> <div id="main"> <h1 class="page-title">arrDiff.mjs</h1> <section> <article> <pre class="prettyprint source linenums"><code>import get from 'lodash/get' import each from 'lodash/each' import map from 'lodash/map' import size from 'lodash/size' import join from 'lodash/join' import split from 'lodash/split' import dropRight from 'lodash/dropRight' import isarr from './isarr.mjs' import isestr from './isestr.mjs' import strDiff from './strDiff.mjs' let dlm = '\n' function arrDiff1D(arrOld, arrNew) { //check if (!isarr(arrOld)) { return {} } if (!isarr(arrNew)) { return {} } //strOld let strOld = map(arrOld, (v) => { return `${v}${dlm}` }) strOld = join(strOld, '') // console.log('strOld', strOld) //strNew let strNew = map(arrNew, (v) => { return `${v}${dlm}` }) strNew = join(strNew, '') // console.log('strNew', strNew) //strDiff let r = strDiff(strOld, strNew, { eliminateEndLine: true }) //parse r.dfs = map(r.dfs, (df, kdf) => { return { p: df.p, k: kdf, vo: df.vo, vn: df.vn, } }) return r } function arrDiff2D(arrOld, arrNew, opt = {}) { //check if (!isarr(arrOld)) { return {} } if (!isarr(arrNew)) { return {} } //dls let dls = get(opt, 'dls', '') if (!isestr(dls)) { dls = '⟋' } //dlq let dlq = get(opt, 'dlq', '') if (!isestr(dlq)) { dlq = '∶' } //strOld let strOld = [] each(arrOld, (v, k) => { if (!isarr(v)) { console.log('arrOld', arrOld) console.log(k, v) throw new Error(`arrOld is not a matrix`) } each(v, (vv, kk) => { strOld.push(`${kk}${dlq}${vv}${dls}`) //得要靠kk區隔不同儲存格, 若無kk與有可能出現連續多儲存格為「有無」與「無有」, 導致判識仍為無變化 }) strOld.push(dlm) }) strOld = join(strOld, '') // console.log('strOld', strOld) //strNew let strNew = [] each(arrNew, (v, k) => { if (!isarr(v)) { console.log('arrNew', arrNew) console.log(k, v) throw new Error(`arrNew is not a matrix`) } each(v, (vv, kk) => { strNew.push(`${kk}${dlq}${vv}${dls}`) //得要靠kk區隔不同儲存格, 若無kk與有可能出現連續多儲存格為「有無」與「無有」, 導致判識仍為無變化 }) strNew.push(dlm) }) strNew = join(strNew, '') // console.log('strNew', strNew) //strDiff let rt = strDiff(strOld, strNew, { ...opt, eliminateEndLine: true }) // console.log('rt.diff', rt.diff) // console.log('rt.dfs', rt.dfs) //dfs let dfs = [] each(rt.dfs, (r) => { //arrVo let arrVo = split(r.vo, dls) arrVo = dropRight(arrVo, 1) // console.log('vo', r.vo, 'arrVo', arrVo) //modify if (r.p === 'modify') { //arrVn let arrVn = split(r.vn, dls) arrVn = dropRight(arrVn, 1) // console.log('vn', r.vn, 'arrVn', arrVn) //row add dfs let rtt = arrDiff1D(arrVo, arrVn, opt) r.dfs = rtt.dfs } //cs let cs = [] if (r.p === 'modify') { each(r.dfs, (v) => { cs.push(v) }) } else { //nomodify, add, remove each(arrVo, (v) => { cs.push({ p: r.p, vo: v, vn: '', }) }) } //parse cs = map(cs, (c, kc) => { let vos = split(c.vo, dlq) // let vok = get(vos, 0, '') // if (isnum(vok)) { // vok = cint(vok) // } let vov = get(vos, 1, '') let vns = split(c.vn, dlq) // let vnk = get(vns, 0, '') // if (isnum(vnk)) { // vnk = cint(vnk) // } let vnv = get(vns, 1, '') return { p: c.p, k: kc, // ko: vok, vo: vov, // kn: vnk, vn: vnv, } }) //push dfs.push(cs) }) // console.log('dfs', dfs) return { diff: rt.diff, dfs, } } /** * 比對新舊陣列差異處 * * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/arrDiff.test.mjs Github} * @memberOf wsemi * @param {Array} strOld 輸入原始數據陣列 * @param {Array} strNew 輸入更新數據陣列 * @param {Object} [opt={}] 輸入設定物件,預設{} * @param {String} [opt.mode='array'] 輸入數據維度字串,可選為'array'與'matrix',預設'array' * @param {String} [opt.dls='⟋'] 輸入若數據為矩陣時各儲存格分隔字串,預設'⟋' * @param {String} [opt.dlq='∶'] 輸入若數據為矩陣時各儲存格欄位指標分隔字串,預設'∶' * @returns {Object} 回傳比對結果物件,若為一維陣列則回傳鍵值diff與dfs,其中diff為比對原始結果字串,dfs為依照各列比對結果陣列;若為二維陣列則回傳鍵值diff與dfs,其中diff一樣為比對原始結果字串,dfs為各列與各儲存格比對結果陣列 * @example * * let r * let arrOld * let arrNew * * if (true) { * arrOld = [-0.529408622, 0.839882385, 0.663059856, 0.49047221, 123, 0.395763265, 0.866151835] * arrNew = [-0.529408622, 0.1839882385, 0.663059856, 0.49047221, 0.395763265, 45.6, 0.866151835] * r = arrDiff(arrOld, arrNew) //因第[5](0.395763265)元素會往前到[4]去, diff會偵測到並視為前面刪除(123)而後面加入(45.6), 故解析後長度會由7變成8 * console.log(r) * // => { * // diff: [ * // { count: 1, value: '-0.529408622\n' }, * // { * // count: 1, * // added: undefined, * // removed: true, * // value: '0.839882385\n' * // }, * // { * // count: 1, * // added: true, * // removed: undefined, * // value: '0.1839882385\n' * // }, * // { count: 2, value: '0.663059856\n0.49047221\n' }, * // { count: 1, added: undefined, removed: true, value: '123\n' }, * // { count: 1, value: '0.395763265\n' }, * // { count: 1, added: true, removed: undefined, value: '45.6\n' }, * // { count: 1, value: '0.866151835\n' } * // ], * // dfs: [ * // { p: '', vo: '-0.529408622', vn: '' }, * // { p: 'modify', vo: '0.839882385', vn: '0.1839882385' }, * // { p: '', vo: '0.663059856', vn: '' }, * // { p: '', vo: '0.49047221', vn: '' }, * // { p: 'remove', vo: '123', vn: '' }, * // { p: '', vo: '0.395763265', vn: '' }, * // { p: 'add', vo: '45.6', vn: '' }, * // { p: '', vo: '0.866151835', vn: '' } * // ] * // } * } * * if (true) { * arrOld = [ * [1, 0.974848293, 0.791303871, 0.716898185, 0.506002098, 0.137888903, 0.626724085], * [2, -0.529408622, 0.839882385, 0.663059856, 0.49047221, 123, 0.395763265, 0.866151835], * [3, -0.10320217, 0.475514539, 0.969205779, 0.711250309, 0.153847069, 0.410092395], * [4, -0.121479865, 0.486179086, 0.481023842, 0.467410582, 0.42602231, 0.849701641], * [5, 0.757346003, 0.697242433, 0.67532802, 0.174644416, 0.045652267, 0.397104668], * [6, 0.663032731, 0.259252779, 0.566177431, 0.679637706, 0.377814487, 0.400248119], * [7, 0.72721374, 0.263793391, 0.167895215, 0.794808602, 0.107070584, 0.011822872], * [8, 0.247416664, 0.360426795, 0.014346373, 0.000469616, 0.4082693, 0.913806611], * [9, 0.345880037, 0.167996664, 0.711054429, 0.363177921, 0.206849994, 0.636855344], * [10, 0.576739457, 0.324665077, 0.973218005, 0.883927423, 0.176906125, 0.20087887], * [11, 1.2], * [12, 23.5], * [13, 0.504421248, 0.984003751, 0.32549507, 0.987090751, 0.192745589, 0.735133561], * [14, 0.273214614, 0.083431884, 0.565146092, 0.935388666, 0.637675154, 0.523815661], * ] * arrNew = [ * [1, 0.974848293, 0.791303871, 0.716898185, 0.506002098, 0.137888903, 0.626724085], * [2, -0.529408622, 0.1839882385, 0.663059856, 0.49047221, 0.395763265, 45.6, 0.866151835], * [3, -0.10320217, 0.475514539, 0.969205779, 0.711250309, 0.153847069, 0.410092395], * [4, -0.121479865, 0.486179086, 0.481023842, 0.467410582, 0.42602231, 0.849701641], * [5, 0.757346003, 0.697242433, 0.67532802, 0.174644416, 0.045652267, 0.397104668], * [7, 0.72721374, 0.263793391, 0.167895215, 0.794808602, 0.107070584, 0.011822872], * [8, 0.247416664, 0.360426795, 0.014346373, 0.000469616, 0.4082693, 0.913806611], * [9, 0.345880037, 0.167996664, 0.711054429, 0.363173478, 0.636855344], * [10, 0.576739457, 0.324665077, 0.973218005, 0.883927423, 0.176906125, 0.20087887], * [13, 0.504421248, 0.984003751, 0.32549507, 0.987090751, 0.192745589, 0.735133561], * [14, 0.273214614, 0.083431884, 0.565146092, 0.935388666, 0.637675154, 0.523815661], * ['n1', 0.944492151, 0.89950443, 0.182709318, 0.892820757, 0.709746901, 0.097385354], * ['n2', 0.769805921, 0.061355308, 0.314826137, 0.855857651, 0.653550539, 0.772500773], * ['n3', 0.158739038, 0.085078711, 0.844664253, 0.21630142, 0.912931341, 0.735138313], * ] * r = arrDiff(arrOld, arrNew, { mode: 'matrix' }) * console.log('diff', r.diff) * // => diff [ * // { * // count: 1, * // value: '0∶1⟋1∶0.974848293⟋2∶0.791303871⟋3∶0.716898185⟋4∶0.506002098⟋5∶0.137888903⟋6∶0.626724085⟋\n' * // }, * // { * // count: 1, * // added: undefined, * // removed: true, * // value: '0∶2⟋1∶-0.529408622⟋2∶0.839882385⟋3∶0.663059856⟋4∶0.49047221⟋5∶123⟋6∶0.395763265⟋7∶0.866151835⟋\n' * // }, * // { * // count: 1, * // added: true, * // removed: undefined, * // value: '0∶2⟋1∶-0.529408622⟋2∶0.1839882385⟋3∶0.663059856⟋4∶0.49047221⟋5∶0.395763265⟋6∶45.6⟋7∶0.866151835⟋\n' * // }, * // { * // count: 3, * // value: '0∶3⟋1∶-0.10320217⟋2∶0.475514539⟋3∶0.969205779⟋4∶0.711250309⟋5∶0.153847069⟋6∶0.410092395⟋\n' + * // '0∶4⟋1∶-0.121479865⟋2∶0.486179086⟋3∶0.481023842⟋4∶0.467410582⟋5∶0.42602231⟋6∶0.849701641⟋\n' + * // '0∶5⟋1∶0.757346003⟋2∶0.697242433⟋3∶0.67532802⟋4∶0.174644416⟋5∶0.045652267⟋6∶0.397104668⟋\n' * // }, * // { * // count: 1, * // added: undefined, * // removed: true, * // value: '0∶6⟋1∶0.663032731⟋2∶0.259252779⟋3∶0.566177431⟋4∶0.679637706⟋5∶0.377814487⟋6∶0.400248119⟋\n' * // }, * // { * // count: 2, * // value: '0∶7⟋1∶0.72721374⟋2∶0.263793391⟋3∶0.167895215⟋4∶0.794808602⟋5∶0.107070584⟋6∶0.011822872⟋\n' + * // '0∶8⟋1∶0.247416664⟋2∶0.360426795⟋3∶0.014346373⟋4∶0.000469616⟋5∶0.4082693⟋6∶0.913806611⟋\n' * // }, * // { * // count: 1, * // added: undefined, * // removed: true, * // value: '0∶9⟋1∶0.345880037⟋2∶0.167996664⟋3∶0.711054429⟋4∶0.363177921⟋5∶0.206849994⟋6∶0.636855344⟋\n' * // }, * // { * // count: 1, * // added: true, * // removed: undefined, * // value: '0∶9⟋1∶0.345880037⟋2∶0.167996664⟋3∶0.711054429⟋4∶0.363173478⟋5∶0.636855344⟋\n' * // }, * // { * // count: 1, * // value: '0∶10⟋1∶0.576739457⟋2∶0.324665077⟋3∶0.973218005⟋4∶0.883927423⟋5∶0.176906125⟋6∶0.20087887⟋\n' * // }, * // { * // count: 2, * // added: undefined, * // removed: true, * // value: '0∶11⟋1∶1.2⟋\n0∶12⟋1∶23.5⟋\n' * // }, * // { * // count: 2, * // value: '0∶13⟋1∶0.504421248⟋2∶0.984003751⟋3∶0.32549507⟋4∶0.987090751⟋5∶0.192745589⟋6∶0.735133561⟋\n' + * // '0∶14⟋1∶0.273214614⟋2∶0.083431884⟋3∶0.565146092⟋4∶0.935388666⟋5∶0.637675154⟋6∶0.523815661⟋\n' * // }, * // { * // count: 3, * // added: true, * // removed: undefined, * // value: '0∶n1⟋1∶0.944492151⟋2∶0.89950443⟋3∶0.182709318⟋4∶0.892820757⟋5∶0.709746901⟋6∶0.097385354⟋\n' + * // '0∶n2⟋1∶0.769805921⟋2∶0.061355308⟋3∶0.314826137⟋4∶0.855857651⟋5∶0.653550539⟋6∶0.772500773⟋\n' + * // '0∶n3⟋1∶0.158739038⟋2∶0.085078711⟋3∶0.844664253⟋4∶0.21630142⟋5∶0.912931341⟋6∶0.735138313⟋\n' * // } * // ] * for (let i = 0; i &lt; r.dfs.length; i++) { * let df = r.dfs[i] * console.log(i, 'df', df) * } * // => 0 df [ * // { p: '', k: 0, vo: '1', vn: '' }, * // { p: '', k: 1, vo: '0.974848293', vn: '' }, * // { p: '', k: 2, vo: '0.791303871', vn: '' }, * // { p: '', k: 3, vo: '0.716898185', vn: '' }, * // { p: '', k: 4, vo: '0.506002098', vn: '' }, * // { p: '', k: 5, vo: '0.137888903', vn: '' }, * // { p: '', k: 6, vo: '0.626724085', vn: '' } * // ] * // 1 df [ * // { p: '', k: 0, vo: '2', vn: '' }, * // { p: '', k: 1, vo: '-0.529408622', vn: '' }, * // { p: 'modify', k: 2, vo: '0.839882385', vn: '0.1839882385' }, * // { p: '', k: 3, vo: '0.663059856', vn: '' }, * // { p: '', k: 4, vo: '0.49047221', vn: '' }, * // { p: 'modify', k: 5, vo: '123', vn: '0.395763265' }, * // { p: 'modify', k: 6, vo: '0.395763265', vn: '45.6' }, * // { p: '', k: 7, vo: '0.866151835', vn: '' } * // ] * // 2 df [ * // { p: '', k: 0, vo: '3', vn: '' }, * // { p: '', k: 1, vo: '-0.10320217', vn: '' }, * // { p: '', k: 2, vo: '0.475514539', vn: '' }, * // { p: '', k: 3, vo: '0.969205779', vn: '' }, * // { p: '', k: 4, vo: '0.711250309', vn: '' }, * // { p: '', k: 5, vo: '0.153847069', vn: '' }, * // { p: '', k: 6, vo: '0.410092395', vn: '' } * // ] * // 3 df [ * // { p: '', k: 0, vo: '4', vn: '' }, * // { p: '', k: 1, vo: '-0.121479865', vn: '' }, * // { p: '', k: 2, vo: '0.486179086', vn: '' }, * // { p: '', k: 3, vo: '0.481023842', vn: '' }, * // { p: '', k: 4, vo: '0.467410582', vn: '' }, * // { p: '', k: 5, vo: '0.42602231', vn: '' }, * // { p: '', k: 6, vo: '0.849701641', vn: '' } * // ] * // 4 df [ * // { p: '', k: 0, vo: '5', vn: '' }, * // { p: '', k: 1, vo: '0.757346003', vn: '' }, * // { p: '', k: 2, vo: '0.697242433', vn: '' }, * // { p: '', k: 3, vo: '0.67532802', vn: '' }, * // { p: '', k: 4, vo: '0.174644416', vn: '' }, * // { p: '', k: 5, vo: '0.045652267', vn: '' }, * // { p: '', k: 6, vo: '0.397104668', vn: '' } * // ] * // 5 df [ * // { p: 'remove', k: 0, vo: '6', vn: '' }, * // { p: 'remove', k: 1, vo: '0.663032731', vn: '' }, * // { p: 'remove', k: 2, vo: '0.259252779', vn: '' }, * // { p: 'remove', k: 3, vo: '0.566177431', vn: '' }, * // { p: 'remove', k: 4, vo: '0.679637706', vn: '' }, * // { p: 'remove', k: 5, vo: '0.377814487', vn: '' }, * // { p: 'remove', k: 6, vo: '0.400248119', vn: '' } * // ] * // 6 df [ * // { p: '', k: 0, vo: '7', vn: '' }, * // { p: '', k: 1, vo: '0.72721374', vn: '' }, * // { p: '', k: 2, vo: '0.263793391', vn: '' }, * // { p: '', k: 3, vo: '0.167895215', vn: '' }, * // { p: '', k: 4, vo: '0.794808602', vn: '' }, * // { p: '', k: 5, vo: '0.107070584', vn: '' }, * // { p: '', k: 6, vo: '0.011822872', vn: '' } * // ] * // 7 df [ * // { p: '', k: 0, vo: '8', vn: '' }, * // { p: '', k: 1, vo: '0.247416664', vn: '' }, * // { p: '', k: 2, vo: '0.360426795', vn: '' }, * // { p: '', k: 3, vo: '0.014346373', vn: '' }, * // { p: '', k: 4, vo: '0.000469616', vn: '' }, * // { p: '', k: 5, vo: '0.4082693', vn: '' }, * // { p: '', k: 6, vo: '0.913806611', vn: '' } * // ] * // 8 df [ * // { p: '', k: 0, vo: '9', vn: '' }, * // { p: '', k: 1, vo: '0.345880037', vn: '' }, * // { p: '', k: 2, vo: '0.167996664', vn: '' }, * // { p: '', k: 3, vo: '0.711054429', vn: '' }, * // { p: 'modify', k: 4, vo: '0.363177921', vn: '0.363173478' }, * // { p: 'modify', k: 5, vo: '0.206849994', vn: '0.636855344' }, * // { p: 'remove', k: 6, vo: '0.636855344', vn: '' } * // ] * // 9 df [ * // { p: '', k: 0, vo: '10', vn: '' }, * // { p: '', k: 1, vo: '0.576739457', vn: '' }, * // { p: '', k: 2, vo: '0.324665077', vn: '' }, * // { p: '', k: 3, vo: '0.973218005', vn: '' }, * // { p: '', k: 4, vo: '0.883927423', vn: '' }, * // { p: '', k: 5, vo: '0.176906125', vn: '' }, * // { p: '', k: 6, vo: '0.20087887', vn: '' } * // ] * // 10 df [ * // { p: 'remove', k: 0, vo: '11', vn: '' }, * // { p: 'remove', k: 1, vo: '1.2', vn: '' } * // ] * // 11 df [ * // { p: 'remove', k: 0, vo: '12', vn: '' }, * // { p: 'remove', k: 1, vo: '23.5', vn: '' } * // ] * // 12 df [ * // { p: '', k: 0, vo: '13', vn: '' }, * // { p: '', k: 1, vo: '0.504421248', vn: '' }, * // { p: '', k: 2, vo: '0.984003751', vn: '' }, * // { p: '', k: 3, vo: '0.32549507', vn: '' }, * // { p: '', k: 4, vo: '0.987090751', vn: '' }, * // { p: '', k: 5, vo: '0.192745589', vn: '' }, * // { p: '', k: 6, vo: '0.735133561', vn: '' } * // ] * // 13 df [ * // { p: '', k: 0, vo: '14', vn: '' }, * // { p: '', k: 1, vo: '0.273214614', vn: '' }, * // { p: '', k: 2, vo: '0.083431884', vn: '' }, * // { p: '', k: 3, vo: '0.565146092', vn: '' }, * // { p: '', k: 4, vo: '0.935388666', vn: '' }, * // { p: '', k: 5, vo: '0.637675154', vn: '' }, * // { p: '', k: 6, vo: '0.523815661', vn: '' } * // ] * // 14 df [ * // { p: 'add', k: 0, vo: 'n1', vn: '' }, * // { p: 'add', k: 1, vo: '0.944492151', vn: '' }, * // { p: 'add', k: 2, vo: '0.89950443', vn: '' }, * // { p: 'add', k: 3, vo: '0.182709318', vn: '' }, * // { p: 'add', k: 4, vo: '0.892820757', vn: '' }, * // { p: 'add', k: 5, vo: '0.709746901', vn: '' }, * // { p: 'add', k: 6, vo: '0.097385354', vn: '' } * // ] * // 15 df [ * // { p: 'add', k: 0, vo: 'n2', vn: '' }, * // { p: 'add', k: 1, vo: '0.769805921', vn: '' }, * // { p: 'add', k: 2, vo: '0.061355308', vn: '' }, * // { p: 'add', k: 3, vo: '0.314826137', vn: '' }, * // { p: 'add', k: 4, vo: '0.855857651', vn: '' }, * // { p: 'add', k: 5, vo: '0.653550539', vn: '' }, * // { p: 'add', k: 6, vo: '0.772500773', vn: '' } * // ] * // 16 df [ * // { p: 'add', k: 0, vo: 'n3', vn: '' }, * // { p: 'add', k: 1, vo: '0.158739038', vn: '' }, * // { p: 'add', k: 2, vo: '0.085078711', vn: '' }, * // { p: 'add', k: 3, vo: '0.844664253', vn: '' }, * // { p: 'add', k: 4, vo: '0.21630142', vn: '' }, * // { p: 'add', k: 5, vo: '0.912931341', vn: '' }, * // { p: 'add', k: 6, vo: '0.735138313', vn: '' } * // ] * } * */ function arrDiff(arrOld, arrNew, opt = {}) { //check if (!isarr(arrOld)) { return {} } if (!isarr(arrNew)) { return {} } if (size(arrOld) === 0 &amp;&amp; size(arrNew) === 0) { return {} } //mode let mode = get(opt, 'mode', '') if (mode !== 'array' &amp;&amp; mode !== 'matrix') { mode = 'array' } let r if (mode === 'array') { r = arrDiff1D(arrOld, arrNew, opt) } else if (mode === 'matrix') { r = arrDiff2D(arrOld, arrNew, opt) } return r } export default arrDiff </code></pre> </article> </section> </div> <br class="clear"> <footer> Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Wed Jul 19 2023 23:38:49 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme. </footer> <script>prettyPrint();</script> <script src="scripts/polyfill.js"></script> <script src="scripts/linenumber.js"></script> </body> </html>