gpt4 book ai didi

javascript - 对 Javascript 数组进行排序并获取数字差异

转载 作者:行者123 更新时间:2023-11-28 19:08:58 25 4
gpt4 key购买 nike

我有 3 个不同价格的 Javascript 变量。我需要按照从最低到最高的顺序对价格进行排序。价格最低的商品会输出“最低”,价格较高的商品只会显示价格差异。

例如:

var apple = 2.99;
var watermelon = 12.99;
var orange = 4.99;

这应该输出:

Apple: Lowest, Orange: $2 more, Watermelon: $10 More

为了实现此目的,我创建了一个包含三个对象的数组。

var item = new Array();
item.push({apple:"2.99"});
item.push({watermelon:"12.99"});
item.push({orange:"4.99"});

现在我需要以某种方式对数组进行排序并获得价格差异。我该如何实现这个目标?

最佳答案

我不建议使用对象来关联名称和价格,因为要获取属性,您必须使用类似 Object.keys(obj)[0] 的东西,这很丑陋.

相反,我建议将数据存储在成对的数组中,例如将名称存储在第一个位置,将价格存储在第二个位置。

然后,根据价格对数组进行排序,使用 map为每一对生成一个字符串,最后连接字符串。

[                                   // Data
['Apple', 2.99],
['Watermelon', 12.99],
['Orange', 4.99]
].sort(function(a,b) { // Sort by price
return a[1] - b[1];
}).map(function(pair, index, arr) { // Stringify each pair
var diff = pair[1] - arr[0][1];
return pair[0] + ': ' + (diff ? '$' + diff + ' more' : 'Lowest');
}).join(', '); // Join the strings

关于javascript - 对 Javascript 数组进行排序并获取数字差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31124346/

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