javascript - 在 Javascript 中按自定义顺序放置数组元素的最佳方法

标签 javascript arrays sorting

我从服务器接收了一组对象,但它们的顺序与我想要的吐出它们的顺序不同。不幸的是,我想要的顺序也不是按字母顺序排列的。我想知道重新排序数组元素的最佳方法是什么。另外,如果有一种方法可以利用array.sort。我现在如何让它工作:

function arraySort(array) {
  let orderedArray = new Array();
  array.map(item => (
    item.key === 'Person' ? orderedArray[0] = item : null,
    item.key === 'Place' ? orderedArray[1] = item : null,
    item.key === 'Thing' ? orderedArray[2] = item : null
  ));
  return orderedArray;
}

最佳答案

给你。

var order = ['Person', 'Place', 'Thing'];
var a = [
  { key: 'Place' },
  { key: 'Thing' },  
  { key: 'Place' },  
  { key: 'Person' },
  { key: 'Place' },
  { key: 'Thing' },
  { key: 'Person' }  
];

var b = a.sort(function(a,b) {
  return order.indexOf(a.key) - order.indexOf(b.key);
});

console.log(b);

关于javascript - 在 Javascript 中按自定义顺序放置数组元素的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38906068/

相关文章:

javascript - 如何将数据传递给 page.evaluate 函数?

javascript - 如何使用依赖于其他库的 js 库 - Angular 2

javascript - 来自不同数组的不同值并在表中并排附加在一起

java - 根据键对java对象进行排序

javascript - 向 django 表单库渲染的 <options> 添加数据属性

javascript - 查找字符串中的第一个字母 - Javascript

java - 在 int 属性上按降序对自定义对象数组进行排序

javascript - 在 Javascript 对象中查找数据

C++ - 仅使用无符号整数实现快速排序?

c - C 中的随机字符数组