Javascript 我应该改变我处理这个数据结构/算法问题的方法吗?

Javascript 我应该改变我处理这个数据结构/算法问题的方法吗?,javascript,arrays,algorithm,sorting,data-structures,Javascript,Arrays,Algorithm,Sorting,Data Structures,我在练习数据结构和算法,遇到了一个我一直坚持的问题 您有一个输入数组,其中包含“product,amount Saled,price”格式的元素。您需要返回一个数组,其中包含按销售金额排序的所有产品。如果两种产品的销售量相同,则按最低价格对其进行排序 我开始着手的方式是: 循环遍历数组,用逗号分隔元素 将产品名称和价格添加到以销售金额为关键的products对象 跟踪最大销售金额 从max开始,到零,如果有一个产品具有该键,请将名称和价格推送到我的返回数组中 返回数组 这至少给了我按销售量分

我在练习数据结构和算法,遇到了一个我一直坚持的问题

您有一个输入数组,其中包含“product,amount Saled,price”格式的元素。您需要返回一个数组,其中包含按销售金额排序的所有产品。如果两种产品的销售量相同,则按最低价格对其进行排序

我开始着手的方式是:

  • 循环遍历数组,用逗号分隔元素
  • 将产品名称和价格添加到以销售金额为关键的products对象
  • 跟踪最大销售金额
  • 从max开始,到零,如果有一个产品具有该键,请将名称和价格推送到我的返回数组中
  • 返回数组
这至少给了我按销售量分类的产品。但当我的产品销量相同时,它就不起作用了。如果商品的销售量相同,我不确定是否有一种有效的方法可以按价格对它们进行排序

有谁知道如何实现价格排序吗?还是解决这个问题的更好方法

const项=[
“椅子,100,20”,
“沙发,70,200”,
“80号桌,120号桌”,
‘表,400,300’,
“范,10,60”,
“枕头,40,5”,
“毯子,40,20”,
“地毯,100,200”,
“垫,2,30”,
“大便,80,40”,
“棉被,200250”,
“躺椅,50350”,
];
类产品{
建造商(名称、价格){
this.name=名称;
这个价格=价格;
}
}
const productList=(项目)=>{
让returnArray=[];
设乘积={};
设max=0;
for(设i=0;i0){
if(产品[最大值]){
push(`${products[max].name},${max},${products[max].price}`);
}
马克斯;
}
返回数组;
};
console.log(productList(items))
.as控制台包装{最小高度:100%!重要;顶部:0;}
。。。我的话变成了代码

const productItemList=[
“椅子,100,20”,
“沙发,70,200”,
“80号桌,120号桌”,
‘表,400,300’,
“范,10,60”,
“枕头,40,5”,
“毯子,40,20”,
“地毯,100,200”,
“垫,2,30”,
“大便,80,40”,
“棉被,200250”,
“躺椅,50350”,
];
函数getProductItemListAlignedBySoldAmountPriceAndName(itemList){
函数比较数字激光扫描(a,b){
回报率((ab)和&1)| | 0);
}
函数比较图形化搜索(a,b){
回报率((a>b)和-1)| |((a
.as控制台包装{最小高度:100%!重要;顶部:0;}
。。。我的话变成了代码

const productItemList=[
“椅子,100,20”,
“沙发,70,200”,
“80号桌,120号桌”,
‘表,400,300’,
“范,10,60”,
“枕头,40,5”,
“毯子,40,20”,
“地毯,100,200”,
“垫,2,30”,
“大便,80,40”,
“棉被,200250”,
“躺椅,50350”,
];
函数getProductItemListAlignedBySoldAmountPriceAndName(itemList){
函数比较数字激光扫描(a,b){
回报率((ab)和&1)| | 0);
}
函数比较图形化搜索(a,b){
回报率((a>b)和-1)| |((a

。作为控制台包装{min height:100%!important;top:0;}
您已经拥有了所有功能。它就在你面前。这种做法是正确的。只需将每个产品的字符串版本映射到一个包含所有产品数据的项目中。然后通过
sort
和一个自定义比较功能对该产品项目数组进行排序,该功能首先按销售金额进行比较,然后(如果相等)按价格进行比较,最后(如果相等)按名称进行比较。您已经拥有了所有内容。它就在你面前。这种做法是正确的。只需将每个产品的字符串版本映射到一个包含所有产品数据的项目中。然后通过
sort
和c对该产品项数组进行排序