草庐IT

架构比较

全部标签

javascript - 用于比较字符串与元音变音和非变音变体的正则表达式

任何人都可以帮助我使用javascript正则表达式来比较相同的字符串,同时考虑到它们的非变音版本。例如,在德语中单词Grüße也可以写成Gruesse。这两个字符串被认为是相同的。映射(暂时忽略大小写)是:ä=aeü=ueö=oeß=ss由于没有太多的“对联”需要考虑,我可以为每个变体做一个替换,但我想知道是否有更优雅的方式,特别是因为这个用例可能需要在未来扩展以包括例如斯堪的纳维亚字符... 最佳答案 有点像tr={"ä":"ae","ü":"ue","ö":"oe","ß":"ss"}replaceUmlauts=functi

javascript - 如何遍历JS对象和里面的所有数组和对象,与它的副本进行比较?

我在Angular中有一个selectedItem对象,它包含其他对象和数组。我使用JSON技巧创建了一个深拷贝:$scope.editableItem=JSON.parse(JSON.stringify($scope.selectedItem))然后我在输入中使用editableItem模型,更改其中的一些值。selectedItem没有改变。然后我想通过PATCH发送所有所做的更改,但不发送未更改的字段。因此,我需要从未更改的selectedItem中相同的所有字段中删除editableItem。如何有效地做到这一点?我在考虑使用Underscore递归遍历对象,但我真的很想知道在

javascript - 如何比较用 `.bind()` 调用的两个函数?

我正在我的Socket.IO事件和我的应用程序的其余部分之间构建一个中间件层。我这样做是为了将来可以将Socket.IO换成其他东西。我将回调函数存储在一个数组中。当特定事件触发时,我遍历数组并执行回调函数。这就像一个魅力。问题在于从该数组中删除回调。当需要删除回调函数时,我遍历数组并检查每个数组项以查看它是否等于(使用===)要删除的回调。当回调存储在数组中时,这工作正常。但是,当回调与.bind()组合存储时,相等检查返回false。我创建了一个(简化的)codepen来演示这个问题:http://codepen.io/petergoes/pen/wWPJdg?editors=00

javascript - 在 Cosmos DB 存储过程中创建和比较日期

CosmosDB存储过程及其对newDate()的处理和日期比较的指导有限。以下代码是一个CosmosDB存储过程,用于在给定时间后“卡住”文档的写入。属性currentDoc.FreezeDate采用ISO-8601格式,例如'2017-11-15T13:34:04Z'。注意:这是我试图了解的情况的示例。它不是生产代码。functiontryUpdate(newDoc){__.queryDocuments(__.getSelfLink(),{/*querytofetchthedocument*/},(error,results)=>{varcurrentDoc=results[0];

javascript - 用jquery比较两个时间变量

这是我的jQuery代码。在这段代码中#StartTime和#EndTime是表单输入标签ID。获取时间格式为00:00AM/PM。varstarttimeval和endtimeval包含获取开始和结束时间的值。我如何比较这两个时间,例如:if(starttimeval$(function(){$('#StartTime').datetimepicker({datepicker:false,format:'g:iA'});$('#EndTime').datetimepicker({datepicker:false,format:'g:iA'});varstarttimeval=$("#

javascript - 将 object.constructor 与其构造函数和 instanceof 进行比较有什么区别?

这个问题在这里已经有了答案:What'sthedifferencebetweenusinginstanceofandcheckingtheconstructor?(2个答案)Differencebetweeninstanceofandconstructorproperty(2个答案)关闭4年前。假设我有一个Dog构造函数functionDog(name){this.name=name;}我有一个构造函数的实例constmyDog=newDog('Charlie');据我最近了解到,有两种方法可以检查myDog是否是Dog的实例:1.console.log(myDoginstanceof

javascript - 比较引起消化的方法

很久以前看到过这篇文章:https://coderwall.com/p/ngisma它描述了一种方法,如果我们不在应用或摘要阶段,就会触发$apply。$scope.safeApply=function(fn){varphase=this.$root.$$phase;if(phase=='$apply'||phase=='$digest'){if(fn&&(typeof(fn)==='function')){fn();}}else{this.$apply(fn);}};Angular有$scope.$evalAsync方法(取自1.2.14):$evalAsync:function(e

javascript - 比较 Flow 中的枚举值

我正在使用flow在我的代码中注释类型。typeBar='One'|'Two';functionfoo(b:Bar):boolean{returnb==='Three';}有什么方法可以教flow报告与不匹配类型(在我的例子中是string)比较的警告或错误?hereistheexamplefortest编辑:所以似乎不可能用枚举来完成。但是,由于这实际上是我遇到的一个错误,所以我想表达这一点,以便流程可以帮助我标记这种情况。有什么想法吗? 最佳答案 您可以使用格式(value:Type)。在你的情况下是:typeBar='One'

javascript - 基于组件的架构 [Javascript]

问。在没有任何框架的情况下使用vanillajavascript-什么是基于大规模组件的架构的模式?我理解将组件拆分成单独的部分并拥有自己的结构、方法和API的想法。但是我不知道如何将它们联系在一起。业务逻辑在哪里?您如何构建项目,在哪里包含所有方法等。我的经验是单一的,所有的东西都耦合得太紧了。对此的任何澄清将不胜感激,感觉就像我在原地转圈。注意:当我谈论基于组件的架构时,我指的是thisidea 最佳答案 你可以阅读更多关于Object-Pattern和Module-Patternhttps://learn.jquery.com

javascript - 将环境变量与常量进行比较时,字符串比较在 Javascript 中不起作用

我们有一个简单的React应用程序,使用CRA1.x创建。我们安装了dotenv以在项目上使用环境变量,我们的变量包含在.env和.env.development文件中,例如这个:.envREACT_APP_LOGGER=LOGGER.env.developmentREACT_APP_LOGGER=NO_LOGGER然后在代码中我们有这样的逻辑:if(process.env.REACT_APP_LOGGER==="LOGGER"){//dosomething}在development模式下使用webpack4进行本地构建时,if为真,而在production模式下为false。但在az