草庐IT

桶排序

全部标签

javascript - 将数据排序成树

我有以下数据:vardata=[{index:1,sort:10,parent:0},{index:2,sort:7,parent:0},{index:3,sort:15,parent:1},{index:4,sort:4,parent:0},{index:5,sort:13,parent:1},{index:6,sort:20,parent:5},{index:7,sort:2,parent:8},{index:8,sort:6,parent:5},];我如何通过父ID和排序值对其进行高效排序,以便我最终得到:vardata=[{index:4,sort:4,parent:0},{i

javascript - 使用 LoDash 对 Json 数组进行排序

我有一个JSON数组,其一般结构如下:varjson=[{key:'firstName',value:'Bill'},{key:'lastName',value:'Mans'},{key:'phone',value:'123.456.7890'}];在现实中,会有更多的键/值对。无论哪种方式,我都试图使用Lodash按键值对这个数组进行排序。目前,我正在尝试以下操作:_.map(_.sortBy(json,key),_.values);但是,这会导致错误:[ReferenceError:keyisnotdefined]我怀疑是因为docs中所示key没有用引号引起来。不幸的是,我实际上

javascript - 确定元素是否在排序数组中的最快方法

我有一个排序整数数组,其中包含1,000个或更多值(可能高达5000+)。我需要编写一个函数来接收一个int并根据数组中的元素返回一个bool。我知道我可以写一个带有中断的for循环,我知道我可以使用jquery.InArray。什么是最好的实现方式,知道数组已排序。谢谢。 最佳答案 知道数组已排序,二分查找将是最好的方法。 关于javascript-确定元素是否在排序数组中的最快方法,我们在StackOverflow上找到一个类似的问题: https://s

javascript - 简单的 Slickgrid 排序不起作用

为什么这个Slickgrid示例不工作有明显的原因吗?基本上它不会对单击列进行排序。vargrid;varcolumns=[{id:"title",name:"Title",field:"title",sortable:true},{id:"duration",name:"Duration",field:"duration",sortable:true},{id:"%",name:"%Complete",field:"percentComplete",sortable:true},{id:"start",name:"Start",field:"start",sortable:true}

基于另一个数组的javascript排序数组

我有一个全局数组varg=["jack","queen","king","10","ace","7","8","9"];和我的数组varmy=["9","king","7","ace"];这个数组会按照全局数组g排序;如果我对我的数组进行排序,输出将是["king","ace","7","9"]我玩了很多数组,但做不到。请帮我解决这个问题。提前致谢。 最佳答案 一种可能的方式:varg=['jack','queen','king','10','ace','7','8','9'];varmy=['9','king','7','ace'

javascript - 冒泡排序算法 JavaScript

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。关闭5年前。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。这个问题是由于打字错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。Improvethisquestion你能告诉我这个冒泡排序算法在JavaScript中的实现有什么问题吗?for(vari=1;i

javascript排序数组

我的数组没有正确排序。有人可以让我知道我做错了什么吗?...sortArray=newArray("hello","LinktoGoogle","zFile","aFile");//sortarrayif(dir=="asc"){sortArray.sort(function(a,b){returna-b});}else{sortArray.sort(function(a,b){returnb-a});}for(vari=0;i日志显示它们的顺序与它们输入时的顺序相同。 最佳答案 您想在您的排序中进行比较,而不是减法:if(dir=

javascript - 使用 Javascript 按值对 JSON 数组对象进行排序

这个问题在这里已经有了答案:HowtokeepthesequenceinjavascriptMap?(2个答案)DoesJavaScriptguaranteeobjectpropertyorder?(13个答案)关闭8年前。我有一个JSON数组,我正在尝试按值对它进行排序。我遇到的问题是我无法在排序时保留JSON结构。这是JSON数组:{caffeineoverdose:'2517',workhardplayhard:'761277',familia:'4633452'}我想要这样的东西:{familia:'4633452',workhardplayhard:'761277',caff

javascript - 使用具有可调整大小和可排序元素的 flexbox 进行砖石布局的选项有哪些

在我的Angular应用程序中,我使用ui-sortable对进行排序.元素本身是可以调整大小的。这类似于我的设置:我希望“4”和“5”使用它们顶部的空间:这是一个fiddle.请注意,这是一个过于简化的示例,元素实际上可以由用户调整大小和排序。像masonry这样的库不会这样做,因为它们使用绝对定位的元素,这将取消ui-sortable的工作方式,调整大小也不会插入元素的。那么我该如何实现呢?我是否理解正确,这对于仅使用css的解决方案是不可能的?该flexbox将获取最高元素的高度并将该高度放入“行”。有没有不依赖position:abolute的js解决方案,或者更确切地说,它仍

javascript - 如何防止自动排序对象数字属性?

为什么我会遇到这个问题:我试图解决一个算法问题,我需要返回数组中出现次数最多的数字。像[5,4,3,2,1,1]应该返回1。而且当两个数字同时出现时,最大出现次数返回第一个。像[5,5,2,2,1]返回5因为5先出现。我使用一个对象来存储每个数字的外观。关键是数字本身。所以当输入是[5,5,2,2,1]我的对象应该是Object{5:2,2:2,1:1}但实际上我得到了Object{1:1,2:2,5:2}因此,当我使用for..in迭代对象时,我返回了2而不是5。所以这就是我问这个问题的原因。此问题出现在Chrome控制台中,我不确定这是否是一个常见问题:当我运行以下代码时vara=