如何将一个数组排序为与另一个相同
How to sort one array the same as another one?
问题:我有一个对象数组,我通过一个对象键对ASC DESC进行排序,之后我需要对字符串数组进行排序,该数组将按照对象数组的排序方式进行排序。例子:
arrayOfObjects = [{name:"john",nuber:6,food:"pizza"},
{name:"david",nuber:2,food:"gulash"},
{name:"margaret",nuber:7,food:"gugi barries"}]
arrayOfStrings = ['r1','r2','r3']
所以arrayOfObjects中的每个对象都有自己的字符串。比如,john有r1,他们都是第一个索引,当我按数字排序时,john排第二,我希望他的数字也排第二(还有david和margaret的数字)
我需要重新安排arrayofstring相同的方式(我不在乎它是由什么排序)的arrayOfObjects排序
我的排序函数:
dataArray.sort(dynamicSort(sortBy));
function dynamicSort(property) {
var sortOrder = 1;
if(property[0] === "-") {
sortOrder = -1;
property = property.substr(1);
}
return function (a,b) {
if(direction=='asc'){
var c = b;
b=a;
a=c;
}
var result = ( b[property] < a[property]) ? -1 : ( b[property]> a[property]) ? 1 : 0;
return result * sortOrder;
}
}
我建议您以[[object, string], ...]
的格式压缩列表,然后根据元组的第一个元素排序。您可以随后解压缩该列表。
相关文章:
- 如果我知道另一个值,请在多维数组中查找一个值
- JavaScript:如何从数组中检索一个随机项(锚定到另一个项)
- JavaScript数组到另一个页面上的PHP
- 如何将JSON数组数据从一个JS函数发送到另一个
- js - 如何根据对象数组中另一个键的值更改一个键的值
- 如何查找数组中另一个对象旁边的对象
- 将数组从另一个javascript文件中获取到脚本中
- 过滤一个多维数组的另一个数组在javascript
- PHP/JS -如何移动数组到另一个页面不使用URL, FORM, SESSION, COOKIE参数
- 比较字符串数组和另一个字符串数组的优雅方法
- 如果一个数组有一个属性,则查找同一数组的另一个属性的值
- 创建jQuery数组变量和传输数组到另一个页面PHP
- 如何测试数组中的一个值是否大于另一个值.javascript
- 当另一个元素以相同字母开头时,从字符串数组中删除一个元素
- 我不能从php页面检索JSON数据数组到另一个
- 传递多维javascript数组到另一个页面
- 写一个javascript数组到另一个域的json文件
- 函数返回数组到另一个函数>未捕获TypeError
- 如何使用json数组设计另一个类
- 减少对象数组:根据另一个字段的值限制相似字段