如何在javascript中对组合2个数组进行排序(如c#(array.sort()))
How do I sort combining 2 array in javascript (like c# (Array.sort() ))
我有两个数组。第一个数组中的名称和第二个数组中索引。我用C#(Array.sort()属性)订购。
示例:我的数组名称为OrderedNames。
var names = OrderedName.SelectMany(x => x.Names) // names array
var indexes = OrderedName.SelectMany(x => x.Indexes) // indexes array
Array.sort(indexes,names) // ordered names with indexes
我用LINQ做了这个C#。
我想用JavaScript做同样的事情。
所以我的Javascript代码如下(例如):
var names = Enumerable.From('$.OrderedNames').SelectMany('$.Names').ToArray();
var indexes = Enumerable.From('$.OrderedNames').SelectMany('$.Indexes').ToArray();
我可以选择名称和索引。我想合并两个数组并进行排序。我用C#数组.sort()做了这件事,但用Javascript没有。
你知道吗?
您可以将名称和键组合在一起,对它们进行排序,然后返回排序后的名称,如
var names = ['two', 'three', 'one', 'four'];
var keys = [2, 3, 1, 4];
var sortedNames = names
.map((n, i) => { return { name: n, key: keys[i] }})
.sort((a, b) => a.key - b.key)
.map(n => n.name);
console.log(sortedNames); // ['one', 'two', 'three', 'four']';
有趣的问题。我认为没有map.sort.map
你也可以这样做。。
var names = ['rhino', 'hippo', 'tiger', 'badger', 'crocodile'],
keys = [4, 5, 3, 1, 2],
clone = names.slice(),
sorted = names.sort((a,b) => keys[clone.indexOf(a)]-keys[clone.indexOf(b)]);
console.log(sorted);
相关文章:
- sort而不是排序javascript
- 使用函数“sort”对javascript数组进行排序
- array.sort对多个数组进行排序
- 使用 Knockout .sort() 对 JSON 数据进行排序
- JavaScripting .sort()'ing 一个多维分数数组来排序玩家名称
- 为什么这个例子要遍历数组进行排序,而不是使用.sort()方法
- My.sort()只对输入框中的添加值进行排序?为什么会这样
- 使用.sort()和.data()对IE11和Edge中的HTML元素进行排序
- MongoDB sort()会删除那些没有;不包含排序筛选器
- 对嵌套数组进行排序的最佳方式(返回值与sort&math.max)
- array.sort javascript,dos't按第10个人排序
- 在另一个排序函数中调用自定义 array.sort 函数
- Array sort()在赋值给另一个数组后也对实际数组列表进行排序
- JavaScript[].Sort()方法在应该保留元素时进行排序
- 为什么会这样;.sort()”;在JavaScript中,将难以置信的小数字排序为难以置信的大数字
- JavaScript中需要使用默认的.sort()对数组对象进行排序
- 在Chrome中使用array .prototype.sort时,数组的奇怪排序
- 服务器端排序JQGrid-Sort按钮不工作
- 如何在javascript中对组合2个数组进行排序(如c#(array.sort()))
- 在IE9-10中使用sort()问题排序DOM元素