草庐IT

启动多任务排序

全部标签

javascript - 将指定排序条件的对象数组排序为字符串

我想要一个函数,通过获取一个包含属性名称和排序方向的字符串作为输入来对对象数组进行排序。我需要这样的东西:varmyArray=[{name:"A",age:30},{name:"B",age:20},{name:"C",age:20}];varstrSort="ageasc,namedesc";varsortedArray=customSortFuntion(myArray,strSort);//sortedArray==[{name:"C",age:20},{name:"B",age:20},{name:"A",age:30}]functioncustomSortFuntion(m

javascript - 给定一个对象数组,如何按深度为 n 的属性对对象进行排序

我有一个对象数组,我希望通过一些分组属性数据和一个字符串告诉我要分组的属性(例如:'Organization'或'Organization.Name')进行排序我需要编写一个函数,它接收看起来像beforeData的数据并返回afterData输入:beforeData=[{'name':'JohnDoe','Id':1,'Organizations':[{'Id':12,'LongName':'GroupA'},{'Id':13,'LongName':'GroupB'}]},{'name':'FooBar','Id':2,'Organizations':[{'Id':13,'Long

javascript - 在没有 transaction.get() 的情况下启动 firestore 事务

我想将文档从一个集合移动到另一个集合。因此,我想使用事务来1.创建新文档和2.删除旧文档。我可以执行以下操作:db.runTransaction((transaction)=>{returntransaction.get(docRef).then(()=>transaction.set(newDocRef.doc(docId),doc)).then(()=>transaction.delete(docRef));我如何重写此代码以从transaction.set()而不是transaction.get()开始,因为我已经有了这个上下文中的文档,所以它是多余的。区别在于transacti

javascript - Stage.enter 不启动向导

我创建了一个向用户显示调查向导的应用程序。当用户启动/start命令时,我调用AddProject:constTelegraf=require('telegraf');constbot=newTelegraf(process.env.BOT_TOKEN);constsession=require('telegraf/session');bot.use(session());constmain=newTelegrafInlineMenu("Welcome.");main.setCommand('start');main.simpleButton('StartSurvey','START_

javascript - 如何对 greasemonkey 中的现有表格进行排序?

我正在为一个包含表格的页面编写一个greasemonkeyuser.js。(表是100行18列。)现在我想做的是让它在列上可排序,并让它在Chrome和Firefox中运行。到目前为止,所有搜索答案的结果都是使用jquery/dojo或类似工具的建议。我可以在没有任何外部代码的情况下完成吗?最重要的是,这只是以不同顺序替换行的问题,对吧?还是这么说很傻?问题是我已经在使用dojo来满足某些查询需求,但是因为我希望它在Firefox和Chrome中运行,所以我只是将整个dojo东西复制粘贴到我的脚本中。此外,到目前为止,我发现的大多数解决方案似乎更适合在构建表格时使用,而不是用于更改现有

javascript - Backbonejs 集合更改排序顺序?

如何在初始化后更改Backbone集合的排序顺序?试过了:不行collection.comparator=function(){//newfunction}collectionObject.sort() 最佳答案 我认为您没有正确定义比较器。如果你定义了一个比较器,对象将以正确的顺序插入到集合中。这是一个示例,您可以在加载了主干网的站点上运行firebug:varChapter=Backbone.Model;varchapters=newBackbone.Collection;chapters.comparator=function

Javascript原生排序方法代码

知道如何查看nativejavascript方法的实现,特别是排序方法。我之所以要找这个,我只是想知道所使用的算法是什么以及它的复杂性是什么。我正在用javascript对一个巨大的json对象进行排序,我想知道我是否应该为此编写自己的metyhod。不同浏览器的实现是否也不同? 最佳答案 看看WebKit实现:https://gist.github.com/964673.显然,它使用最小排序/选择排序。来自:http://svn.webkit.org/repository/webkit/trunk/Source/JavaScrip

javascript - 确定导致滚动事件启动的原因

众所周知,scroll事件可以通过使用鼠标滚轮、单击滚动条箭头或动态地使用window.scrollTo(left,top)函数来触发。是否有可能确定是什么导致了scroll事件启动?是用户干预还是JS代码? 最佳答案 我认为您无法确定导致滚动的原因。滚动事件仅表示窗口正在滚动,而不是为什么它在滚动。但也许您在从您的代码调用window.scrollTo()之前暂停了滚动事件监听器或设置了一个标志。在Safari中,如果您使用scrollTo(),滚动事件只会触发一次,无论您滚动多少,因此您可以想象做这样的事情://somewher

带有种子的 Javascript 随机排序

我想随机洗牌4个项目的列表,但有一个种子,这样只要你有相同的种子,你就会得到相同顺序的项目。["a","b","c","d"]我想我可以用Math.random获得种子,我不需要非常精确的东西。如何根据种子排序? 最佳答案 您可以通过稍微修改MikeBostock'simplementation来实现此目的Fisher–Yates算法*:functionshuffle(array,seed){//*random函数取自thisSOanswer.这是一个hack,而不是完全随机的,最重要的是不是加密安全的!Here'sahistogr

javascript - Tablesorter 斑马在排序之前不会条纹

我有自己的table,它们很棒,我可以对它们进行排序,而且效果非常好,只是在我第一次对它们进行排序之前,它们不会进行斑马条纹。我的理解是,一旦初始化表排序器,它们就会被strip化,不是这样吗?这是来自此处的tablesorterv2.10(最新):http://mottie.github.io/tablesorter/docs/index.html 最佳答案 您的问题很可能与以下事实有关:当您在表格上初始化表格排序器时表格不可见(display:none)。一种可能的解决方案是仅在表可见时执行以下初始化:if($('tab_par