gpt4 book ai didi

javascript - 通过数组按给定顺序对 JSON 进行排序(JavaScript、D3)

转载 作者:行者123 更新时间:2023-11-28 18:29:17 25 4
gpt4 key购买 nike

我想对表示名称/值列的数组中给定特定顺序的 JSON 数组进行排序。一个例子是:

data = [
{
First: "John",
Last: "Doe",
Age: 23
},
{
First: "Sue",
Last: "San",
Age: 13
},
{
First: "Kyle",
Last: "Wafer",
Age: 87
}
];
var sortBy = ["San", "Wafer", "Doe"];

这样我的输出将是:

  var newData = [
{
First: "Sue",
Last: "San",
Age: 13,
},
{
First: "Kyle",
Last: "Wafer",
Age: 87,
},

{
First: "John",
Last: "Doe",
Age: 23,
}
];

是否可以使用 D3.js 或基本 JavaScript 来实现,而无需复杂的 for 循环?谢谢。

最佳答案

您可以使用一个对象作为排序顺序,并按此值对其进行排序。

var data = [{ First: "John", Last: "Doe", Age: 23 }, { First: "Sue", Last: "San", Age: 13 }, { First: "Kyle", Last: "Wafer", Age: 87 }],
sortBy = ["San", "Wafer", "Doe"],
sortByObj = {};

sortBy.forEach(function (a, i) {
sortByObj[a] = i + 1;
});

data.sort(function (a, b) {
return (sortByObj[a.Last] || 0) - (sortByObj[b.Last] || 0);
});

console.log(data);

关于javascript - 通过数组按给定顺序对 JSON 进行排序(JavaScript、D3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38442430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com