草庐IT

插入排序

全部标签

javascript - Angular UI 可排序 - 分组

我四处寻找一种“优雅”的方式来做到这一点。使用AngularUISortable我目前有3列,基本上看起来像这样codepen,只有3列而不是2列。查看sortOptions:functioncreateOptions(listName){var_listName=listName;varoptions={placeholder:"app",connectWith:".apps-container",activate:function(){console.log("list"+_listName+":activate");},beforeStop:function(){console.

javascript - 对 Immutable.js 列表进行排序和分组

给定以下数据结构:varMyData=[{"id":1,"status":"live",dateCreated:"12:00:0001/02/2016"},{"id":2,"status":"draft",dateCreated:"13:00:0003/12/2015"},{"id":3,"status":"ready",dateCreated:"16:00:0004/09/2016"},{"id":4,"status":"ready",dateCreated:"10:00:0001/10/2016"},{"id":5,"status":"live",dateCreated:"09:0

javascript - 删除插入符号位置前的最后 x 个字符

简短版:我有一个contenteditablediv。我想删除插入位置之前的最后x个字符。长版:如果有人在contenteditablediv中键入[,应该会出现一个自动建议列表,由ajax调用填充。这已经可以工作了。我还可以在插入位置插入选定的建议并添加]。但是用户已经输入的字符应该在附加建议之前删除。括号[不仅是“触发字符”,还是类似markdown的格式元素。示例:div中的文本(“|”代表carret):Loremipsum|坐loremipsumdolor用户现在键入[do以启动自动建议:Loremipsum[do|坐loremipsumdolordolor建议插入到carr

javascript - 没有 jQuery UI(或根本没有 jQuery?)的可排序/可拖动列表项

我一直在寻找一个Javascript插件,它可以提供与jQueryUISortable相同的基本功能。.Wich正在拖放项目以重新排序。在我的例子中,这些项目是标签。基本上,我不想使用jQueryUI,因为它很重,而且由于我不需要支持IE,所以我使用Zepto而不是jQuery。所以我不想为此加载jQuery和jQueryUI。话虽如此,我可以轻松地使用一个有效的jQuery插件并对其进行调整以使其与Zepto一起工作。我已经找了很长时间了,但似乎找不到任何东西。 最佳答案 虽然这不具备jQueryUISortable的全部功能,但

javascript - 为什么ExtJS要测试浏览器是否支持排序?

我是一个javascript新手,这是来自ExtJS的代码,这让我很困惑:supportsSort=(function(){vara=[1,2,3,4,5].sort(function(){return0;});returna[0]===1&&a[1]===2&&a[2]===3&&a[3]===4&&a[4]===5;}()),有人能告诉我为什么ExtJS要做这个测试吗?最好附上一些示例代码。 最佳答案 犹豫是否将此作为答案发布,因为我承认只是在进行有根据的猜测,但根据MDN,Array.sort的浏览器兼容性对于所有内容都列为E

javascript - 为什么 native 浏览器排序功能比快速排序慢?

我实现了快速排序,发现它比原生.sort()方法更快,hereisthePerformancetest为什么以及如何发生这种情况? 最佳答案 原因是尽管.sort()方法是原生的,但它比快速排序更通用。排序方法采用比较函数。而在快速排序的情况下,比较的种类已经有限。nativesort()方法速度较慢,以解决更多非常规比较函数。另请注意:您应该阅读underscore.js与lowdash的对比。Lowdash充满了使用for循环而不是原生函数来提高速度的方法。更新:我阅读了下面的评论并意识到我的错误。经过一番挖掘,我找到了nati

javascript - 重复和插入指令

我有3个不同的指令,,,.我想遍历它们的id并将它们插入到ng-repeat中thenetc-->我想实现的结果html是:因为每个都有自己的模板:我不知道该怎么做?这可能吗?我必须ng-compile在一个指令中有一个指令?我应该只使用一个指令并使用ng-switch吗??我是否缺少更直接的方法?我知道这行得通:做一个指令。我将其包含在中指令:做一个`但是看起来很麻烦。 最佳答案 我通常这样做的方法是使用一个指令来选择链接函数中的特定指令。这可以防止所有ng-switch膨胀。htmljsangular.module('app')

javascript - 在光标位置的可编辑 div 中插入几个元素

我有一个带有contenteditable属性的div。用户需要能够在光标所在的位置键入和插入多个选择菜单。我已经设法获取光标位置并插入第一个选择菜单,但它只适用于第一个文本节点。这就是我获取光标位置的方式:functiongetCaretCharacterOffsetWithin(element){varcaretOffset=0;vardoc=element.ownerDocument||element.document;varwin=doc.defaultView||doc.parentWindow;varsel;if(typeofwin.getSelection!="undef

javascript - 如何在 Vue.js 中保持可排序数组和组件的顺序

我正在使用Vue.js和Dragula制作一个拖放图block页面。每个图block都包含自己的一组数据,因此每个图block都是一个Vue组件。问题是,一旦我拖放其中一个图block,Vue实例中的DOM元素和数据数组就会失去同步并开始引起问题。只是拖放不会产生问题,但是一旦我拖放某些东西然后尝试删除它,一切都会出错。这是一个fiddle:https://jsfiddle.net/wfjawvnL/13/这是我的HTML,带有组件模板:{{$data|json}}{{name}}Index:{{index}}✗这是我的Vue实例:varvm=newVue({el:'#a

javascript - 如何对一个JS数组进行批量排序(为了性能)

我有一个JS应用程序需要对一个大数组进行复杂的排序然后显示它。使用内置的array.sort(cb)方法处理我的数据最多可能需要1秒。这足以让我的UI变得卡顿。因为UI的高度仅足以在屏幕上显示已排序数组的一个子集,而其余部分位于滚动条下方或已分页,所以我有了一个想法。如果我创建一个遍历大型数组的算法并快速排序,使得前N项完全排序,但数组中的其余项排序不完全,会怎样?每次我运行我的算法时,它都会从上到下对数组进行更多排序。这样我就可以将我的处理分解成block并拥有流畅的用户界面。在最初的几秒钟内,数组不会被完美排序,但缺陷会在滚动条下方,因此不会被注意到。我天真的解决方案是编写我自己的