我有一些特定的东西将被推入阵列(如下),我想按项目价格对项目进行排序。我尝试使用sort
,但它对我不起作用。之后,我想循环该数组并检索项目名称和项目价格。
将项目推送到数组:array.push(itemName,itemPrice)
尝试使用sort
功能:
array.sort(function(a,b){
return b[1] - a[1]
});
答案 0 :(得分:1)
我认为你想将元组(itemName,itemPrice)推送到数组,这可以通过以下两种方式完成:
array.push([itemName, itemPrice])
或
array.push({ itemName: itemName, itemPrice: itemPrice })
// and instead of accessing a[1] or b[1], access a.itemPrice and b.itemPrice respectively.
array.push(x,y)只需将两个不同的元素x和y附加到数组
答案 1 :(得分:1)
我认为你想要做的就是推送对象而不仅仅是价值!
array.push( {
name: itemName,
price: itemPrice
} );
然后您可以使用以下方式进行排序:
array.sort(function(a, b){
return b.price - a.price;
});
答案 2 :(得分:1)
看起来你需要一个对象数组并定义你自己的比较函数进行排序。
所以你需要像这样添加元素到数组:
SashForm
定义自定义比较功能
array.push({itemName:name,itemPrice:price})
使用自定义功能
function compare(a,b) {
return a.itemPrice-b.itemPrice;
}
答案 3 :(得分:0)
//按BY键(和值)排序。
int[] keys = { 4, 7, 2, 0 };
int[] values = { 1, 2, 3, 4 };
Array.Sort(keys, values);
foreach (int key in keys)
{
Console.Write(key);
Console.Write(' ');
}
Console.WriteLine();
foreach (int value in values)
{
Console.Write(value);
Console.Write(' ');
}
Console.WriteLine();
我希望这会对你有帮助;)
答案 4 :(得分:0)
这是一个示例代码,玩得开心!
db()