gpt4 book ai didi

javascript - 我想根据两个属性对对象数组进行排序

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

我想对 JavaScript 中具有两个属性 bool 值和 Int 值的对象数组进行排序。我想要这样的输出:

{ first_nom: 'sumeet', last_nom: 'Prentice' ,offerApplicable: 'TRUE' ,price: 40},
4:55 PM { first_nom: 'Pirate', last_nom: 'Prentice' ,offerApplicable: 'TRUE' ,price: 50},
4:55 PM { first_nom: 'Lazslo', last_nom: 'Jamf' ,offerApplicable: 'TRUE' ,price: 60 },
4:55 PM { first_nom: 'jitendra', last_nom: 'Prentice' ,offerApplicable: 'TRUE' ,price: 101}

所有具有 true 值的对象首先也按价格排序,然后所有具有 bool 值为 false 的对象。我可以按 bool 值对它们进行排序,但我也想按价格对它们进行排序。

我已经尝试过了

var objs = [ 
{ first_nom: 'Lazslo', last_nom: 'Jamf' ,offerApplicable: 'TRUE' ,price: 60 },
{ first_nom: 'Pig', last_nom: 'Bodine' , offerApplicable: 'FALSE' ,price: 100},
{ first_nom: 'Pirate', last_nom: 'Prentice' ,offerApplicable: 'TRUE' ,price: 50},
{ first_nom: 'nithesh', last_nom: 'Bodine' , offerApplicable: 'FALSE' ,price: 40},
{ first_nom: 'sumeet', last_nom: 'Prentice' ,offerApplicable: 'TRUE' ,price: 40},
{ first_nom: 'mahesh', last_nom: 'Bodine' , offerApplicable: 'FALSE' ,price: 40},
{ first_nom: 'jitendra', last_nom: 'Prentice' ,offerApplicable: 'TRUE' ,price: 101}
];
function compare(a,b) {
var aConcat = a["offerApplicable"] + a["price"];
var bConcat = b["offerApplicable"] + b["price"];
if (aConcat < bConcat )
return 1;
if (aConcat > bConcat )
return -1;
return 0;

}`enter code here`

console.log(objs.sort(compare));

请帮忙提前致谢。

最佳答案

尝试这个比较功能

function compare(a,b) {
if (a.offerApplicable == b.offerApplicable)
return (a.price > b.price)
else return (a.offerApplicable < b.offerApplicable)
}

关于javascript - 我想根据两个属性对对象数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44698496/

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