javascript - 在javascript中自定义排序,基于另一个字段排序

标签 javascript jquery arrays sorting

我有一些这样的信息,这些不是对象..只是个人数据

name : 'element1', x: 30, y : 35
name : 'element2', x : 10, y:16
name : 'element3', x: 70, y:11

我已将所有三个信息推送到三个不同的数组

var elmArray = ['element1','element2','element3'];
var xArray = [30, 10, 70];    
var yArray = [35, 16, 11];

asc 顺序对 xArrayyArray 进行排序

xArray.sort(function(a, b){return a - b});
yArray.sort(function(a, b){return a - b});

我的问题是如何根据 xArrayyArrayelmArray 进行排序 例如在 xArray 排序后我想要这样的 elmArray

['element2', 'element1', 'element3'];

yArray 之后我想要这样

['element3', 'element2', 'element1'];

最佳答案

首先,您必须将数据放入对象数组。

var arr = [
    {name : 'element1' ,x: 30, y : 35},
    {name : 'element2', x : 10, y:16},
    {name :'element3', x: 70, y:11}];

那么你就知道如何对数组进行排序了!

arr.sort(function(a,b){ return a.x - b.x; } ); // sort by x

一旦排序,如果你想要一个只包含一个属性的数组,你可以使用 .map

var names = arr.map(function(e) { return e.name; });

关于javascript - 在javascript中自定义排序,基于另一个字段排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31452681/

相关文章:

javascript - 动态创建js数组?

arrays - 在 CLR 中通过指针访问数组的值

javascript - 滚动固定顶部按钮 | CSS 和 jQuery

javascript - 单元测试错误 vue.js karma : undefined is not a constructor ()

javascript - textfield.value = ""在 Firefox 中不起作用,但在 Safari/Chrome 中起作用

javascript - Jmeter BSF Sampler JavaScript 调试

javascript - jquery 单选按钮,加上另外两个小问题

javascript - 多 Material 设计精简版 snackbar 的时间错误

c++ - 全局声明 2d 数组(错误 : too many initializer values)

javascript - 如何用Java触发js事件?