草庐IT

桶排序

全部标签

javascript - Jquery 可拖动/可放置和可排序组合

我被要求创建一个正方形网格,其中每个正方形可能包含也可能不包含链接,并且这些链接应该能够在网格中移动。我认为draggable/droppable将是可行的方法并且它工作正常,但是,现在我们希望能够让draggables在一个拖放到另一个之上时交换。所以现在看起来sortable是可行的方法。但是,sortable看起来更像是用于列表,而我并没有把它写成列表。是否有一种简单的方法可以使我目前的工作正常进行,或者我是否需要使用sortable完全重写它?我是javascript的新手,我花了一段时间才走到这一步,我不是要代码,但我害怕不得不再次弄清楚整个事情!有什么意见吗?这是我的一小段

javascript - JavaScript 原生的排序功能是如何实现的?

我们先来看一个例子。vareverything=[4,'Red','$200','white',7.4,12,true,0.3,false];console.log(everything.sort(function(a,b){returna-b;}));//[4,"Red","$200","white",false,0.3,true,7.4,12]我认为这很奇怪,即使我知道Number("Red")、Number("$200")和Number("white")比较时都给出NaN。为什么4在结果的第一个?我猜它与Array.prototype.sort的实现有关,那么我如何才能看到它的实

javascript - xCharts 按星期几排序

我正试图解决xCharts的一个小问题。我想显示一个条形图,显示带有星期几的数字。我已经做到了这一点,但是我在让它以正确的顺序显示时遇到了问题。见下图:如您所见,星期几的顺序不正确。通过阅读他们网站上的文档,我可以看出它与提供选项sortX有关,所以我尝试了很多不同的东西,但它们对我来说并没有真正起作用。下面是我使用的代码:vardata3={"xScale":"ordinal","yScale":"linear","type":"bar","main":[{"className":".bstats","data":[{"x":"Monday","y":1},{"x":"Tuesday

javascript - 下划线 - 从已排序的对象数组中查找

Underscore提供函数sortBy来对对象数组进行排序。但是,一旦我有了这个排序数组,有没有办法使用二进制搜索来查找元素?函数find没有利用数组已排序的事实,而函数indexOf有,但它没有提供指定排序键的方法。我是不是漏掉了什么?是否有任何其他JS库可以轻松地做到这一点? 最佳答案 函数_.sortedIndex用于二进制搜索,但比您的目的更通用。我只想用它来构建一个sortedFind,例如:_.sortedFind=functionsortedFind(list,item,key){return(_.isEqual(i

javascript - 基于java脚本中嵌套对象数组中的键对列表进行排序的最佳方法

我有以下内容:varlist=[{"item":[{a:5,a1:6,a2:7},{b:3,b1:4,b2:2}]},{"item":[{a:1,a1:2,a2:3},{b:4,b1:5,b2:6}]},{"item":[{a:2,a1:7,a2:4},{b:3,b1:7,b2:1}]}];假设我有上面的变量list,我怎样才能对它进行排序,使得list中具有item键的所有直接对象>根据键(即"a1"或"b")按升序排序。请注意,它不会更改或重新排序list[x]["item"]中的列表,而只会更改list[x]中的直接项目。标准排序函数似乎只对数组中对象内的键进行排序,但我想根据位

javascript - D3 排序函数总是传递未定义的参数

使用D32.4.2,我创建了许多路径元素,如下所示:for(vari=0;i它们都按预期绘制到屏幕上。稍后,当用户进行一些输入时,我想将其中一个放在最前面,所以我有一个事件处理程序可以执行此操作:varpathToHighlight=selectPath(pathIndex);varpaths=d3.selectAll("."+PATH_CLASS);paths.sort(function(a,b){if(a===pathToHighlight){return-1;}elseif(b===pathToHighlight){return1;}else{return0;}});在Chrom

javascript - Angular 表格排序和拖放表格行冲突

我正在使用angulartable-sort和angulardrag-drop在我的项目中。当我拖动一行并试图将其放到另一行时,表排序会强制将这些行排序到它们之前的位置。如果我删除表格排序指令ts-repeat,那么拖放操作会完美无缺。我还需要默认表列排序"Age"升序。为了更好地理解,我在plunker上做了一个例子。https://plnkr.co/edit/pHlTufpayFAB4he8bN6y那么,如何在拖放一行时防止表排序?谁能帮我解决这个问题?我真的很感激。提前致谢。 最佳答案 我认为你应该摆脱ts-repeat,并且

javascript - 首先对包含重音符号的大写字母进行排序

所以我在互联网上四处游荡,寻找js中的一些排序功能。这就是问题所在。我们有一个像这样的字符串数组:['único','UNICO','árbol','ARBOL','cosas','COSAS','fútbol','FUTBOL']我们想要这样的东西(大写优先):['ARBOL','COSAS','FUTBOL','UNICO','árbol','cosas','fútbol','único']或者像这样(小写优先):['árbol','cosas','fútbol','único','ARBOL','COSAS','FUTBOL','UNICO']问题是:得到这个真的很容易:['AR

javascript - jQuery:根据不同子div的内容对div进行排序

我正在尝试创建一个既不使用div也不使用列表的有点复杂的排序功能。不幸的是,两个小时的谷歌搜索对我没有帮助。这是我的HTML的基本设置:Name(SortArgument1)Title(SortArgument2)2010(SortArgumentt3)GreatBritain(SortArgument4)设置有点复杂,但基本上.element是需要根据h3、div.title、div.year或div.country的内容按字母顺序排序的元素。因此,用户将能够查看按名称、年份、国家或标题排序的站点内容。我有一个来自网站的jQuery片段,但我所有的尝试都是试图告诉它使用例如的内容h3

javascript - Javascript 排序中到底发生了什么

我已经看到这个排序函数工作正常:vararr=[1,5,3,7,8,6,4,3,2,3,3,4,5,56,7,8,8];console.log(arr.sort(function(a,b){returna-b;}));但是我真的不明白这个小函数的原理。当它比较a和b时,它真正比较的是数组中的哪些数字?如果说,它拾取了前两个数字1和5,该函数将返回-4。这对排序顺序意味着什么?或者它只是负bool值?即使是这样,排序又是如何发生的? 最佳答案 基本上,排序是通过一次比较两个元素来进行的。比较不仅仅是bool值——您有三个选项:小于、等