草庐IT

javascript - 根据一个数组的长度对两个数组进行排序

我有两个数组,数据合并在一起,例如:[马克西米利安、莫里茨、汉斯]和[5,1,2000]现在我必须根据名称的长度对第一个数组进行排序,并将数字保持在正确的位置。结果应该是:[汉斯,莫里茨,马克西米利安][2000,1,5]通常您可以组合两个数组,对它们进行排序,然后将它们分开。简单的。但在我的例子中,数字有不同的长度,所以不能保证正确的顺序。如果我合并并排序,结果将是:[莫里茨,汉斯,马克西米利安][1,2000,5]这是错误的。有人知道如何解决这个问题吗? 最佳答案 您可以获取索引,对它们进行排序并映射两个数组的值。vararra

javascript - 对对象中的javascript数组进行排序,维护键

我有一个带有两个数组的javascript对象,如图所示,varObject={'name':[Matt,Tom,Mike...],'rank':[34,1,17...]};我正在尝试按排名1、2、3排序......但保持名称与排名相关联。Object.name[0]//tomObject.rank[0]//tom'srankof1.我应该重新配置我的对象以使排序更容易吗?我目前正在使用Object.rank.sort(function(a,b){returna-b});排序排名,但名称不保留。感谢所有帮助。谢谢! 最佳答案 是的,

javascript - 如何在忽略冠词 (A, an, the) 的同时对 javascript 数组进行排序?

我有以下排序函数来对书籍列表进行排序:varcompare=function(a,b){varaTitle=a.title.toLowerCase(),bTitle=b.title.toLowerCase();if(aTitle>bTitle)return1;if(aTitle我如何调整它以便忽略每个标题开头的文章? 最佳答案 您可以简单地使用函数removeArticles()来检查句子中是否有多个单词,如果有则返回第二个单词进行比较。对于特定的单词,您只需要为单词添加条件,例如(words[0]=='a'||words[0]==

Javascript 排序和排序

所以我有这个数组['vendor/angular/angular.min.js','vendor/angular-nice-bar/dist/js/angular-nice-bar.min.js','vendor/angular-material/modules/js/core/core.min.js','vendor/angular-material/modules/js/backdrop/backdrop.min.js','vendor/angular-material/modules/js/dialog/dialog.min.js','vendor/angular-materia

Javascript - 如何按 3 种不同的属性类型对对象数组进行排序? (字符串、整数、 bool 值)

我有对象数组:vara=[{"name":"BBB","no":2,"size1":[3],"size2":null},{"name":"AAA","no":5,"size1":null,"size2":[1]},{"name":"BBB","no":1,"size1":[2],"size2":null},{"name":"AAA","no":4,"size1":null,"size2":[1]},{"name":"BBB","no":1,"size1":null,"size2":[1]},{"name":"AAA","no":5,"size1":[2],"size2":null},{

javascript - 编写一个函数对对象数组进行排序(通过使用另一个对象来指定排序路径和顺序)

我将编写一个函数来对具有某种结构的任何JSON进行排序(只要知道它是一个对象数组,例如产品列表),方法是使用另一个对象作为其参数以确定根据哪个对象执行排序键。//ThejsonthatIgetmightlookslikesomethinglikethis.//Ijustwriteoneitemofthearray,butallofthemarethesame.//Buttheblueprintoftheitemsineachjsonaredifferent.constdataArray=[{id:100,name:'product_1',price:99.95,color:['#fff

javascript - 多种分类的 Backbone.js 集合

我有一个包含名称和日期的待办事项列表。我希望能够使用标题或日期对列表进行排序。我该怎么做?比较器只允许一种类型的排序。谢谢。 最佳答案 可以在比较器中实现更多逻辑,以便您可以抽象出一些排序逻辑:varCollection=Backbone.Collection.extend({model:myModel,order:'name'comparator:function(model){if(this.order==='name'){returnmodel.get('name');}else{returnmodel.get('date')

javascript - 获取层次结构的级别

我有一个对象数组,其中每个对象都有一个id和一个ParentId属性(因此它们可以排列在树中)。它们没有特定的顺序。请注意,id和parentId不会是整数,它们将是字符串(只是想让示例代码更清晰..)只有一个根:假设它的id:1数据如下所示:data=[{id:"id-2",parentId:"id-3"},{id:"id-4",parentId:"2"},{id:"id-3",parentId:"id-4"},{id:"id-5",parentId:"id-4"},{id:"id-6",parentId:"id-1"},{id:"id-7",parentId:"id-1"}//an

javascript - 排序时的 SlickGrid 选择问题

当同时使用SlickGridsselection和sorting时,我发现选择存储的是所选行的索引,而不是存储所选数据的选择。我该如何解决这个问题,以便记住所选数据而不仅仅是索引?可以在此处找到该问题的演示:http://jsfiddle.net/blowsie/LKf6j/Toreproducetheissuetakethefollowingsteps;SelectthefirstiteminthegridSortonname 最佳答案 您需要调用dataView.syncGridSelection(grid,true)。见htt

javascript - 使用 Javascript 对数值数组的数组进行排序

在Javascript中,如果我有一个数组数组,如下所示:X=[[1,2,3,4],[1,1,2,3],[1,1,3],[1,4],[2,1,2],[2,2]]Javascript对我的数组进行排序,首先比较第一个条目,然后比较第二个条目,依此类推,因此X.sort()返回以下内容:[[1,1,2,3],[1,1,3],[1,2,3,4],[1,4],[2,1,2],[2,2]]这就是我想要的。问题是用于比较数组中元素的比较运算符是字典顺序的,所以[10,2],例如,[[10,2],[1,1,3],[2,2]].sort()->[[1,1,3],[10,2],[2,2]]我需要它按数字