gpt4 book ai didi

javascript - 对具有多个对象但没有键的 JSON 数组进行排序

转载 作者:行者123 更新时间:2023-12-02 22:06:30 25 4
gpt4 key购买 nike

我有以下数组,它有多个对象但没有键。

const result = [
["Joe", "1", "2.22%", "$3,000.00"],
["Tom", "1", "2.22%", "$4,650.00"],
["Ryan", "4", "4.44%", "$18,925.00"],
["Jordan", "2", "4.44%", "$3,300.00"],
["Fred", "0", "0.00%", "$0.00"],
["Steve", "0", "0.00%", "$0.00"]
]

我正在尝试按第四个对象进行排序,但我很难弄清楚这一点。有没有一种快速简单的方法可以在不改变数组的情况下完成此任务?

我想返回按降序排列的第四个对象排序的结果。

return {result: result[0][0] + ": " + result[0][3] + '\n' + result[1][0] + ': ' + result[1][3] + '\n' + result[2][0] + ': ' + result[2][3] + '\n' + result[3][0] + ': ' + result[3][3] + '\n' + result[4][0] + ': ' + result[4][3] + '\n' + result[5][0] + ': ' + result[5][3] };

返回的结果如下:

瑞安:18,925.00 美元

汤姆:4,650.00 美元

约旦:3,300.00 美元

乔:3,000.00 美元

弗雷德:$0.00

史蒂夫:0.00 美元

最佳答案

您可以获得一个没有不需要的字符的标准化值作为数字,并返回增量进行排序。

const normalize = s => s.replace(/[^\d.]/g, '');

var array = [["Joe", "1", "2.22%", "$3,000.00"], ["Tom", "1", "2.22%", "$4,650.00"], ["Ryan", "4", "4.44%", "$18,925.00"], ["Jordan", "2", "4.44%", "$3,300.00"], ["Fred", "0", "0.00%", "$0.00"], ["Test", "0", "0.00%", "$0.00"]],
result = array
.sort((a, b) => normalize(b[3]) - normalize(a[3]))
.map(({ [0]: name, [3]: amount }) => [name, amount]);

console.log(result);

关于javascript - 对具有多个对象但没有键的 JSON 数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59698921/

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