【发布时间】:2013-09-06 16:09:57
【问题描述】:
我有以下数组:
[
{
"BestCoupon": 1,
"Saving": "100",
"Successful": 1,
"couponCode": "CRIC100",
"description": "Get Rs. 100 Discount on purchase of Rs. 599 & above. Products include Eyeglasses & Sunglasses and more. Choose",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE :Coupon code \"CRIC200\" is not valid.",
"Successful": 0,
"couponCode": "CRIC200",
"description": "Get Rs. 200 Discount on purchase of Rs. 999 & above. Products include Eyeglasses & Sunglasses and more. Choose",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE : Coupon code \"CRIC300\" is not valid.",
"Successful": 0,
"couponCode": "CRIC300",
"description": "Get Rs. 300 Discount on purchase of Rs. 1199 & above. Products include Eyeglasses, Sunglasses & Contact Lenses",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE: Coupon code \"JJPREMIUM\" is not valid.",
"Successful": 0,
"couponCode": "JJPREMIUM",
"description": "Get Rs 600 Discount on John Jacobs Eyeglasses. Products include Eyeglasses. Choose from brand like John",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE: Coupon code \"LENS20130303\" is not valid.",
"Successful": 0,
"couponCode": "LENS20130303",
"description": "Get Rs. 500 Discount on purchase of Rs. 1000. Products include Eyeglasses, Sunglasses & Contact Lenses and",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "179.8",
"Successful": 1,
"couponCode": "LKEND20",
"description": "Get 20% Discount on Eyeglasses. Minimum Purchase Rs. 499. Products include Eyeglasses. Choose from brandslike",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "224.75",
"Successful": 1,
"couponCode": "LKEND25",
"description": "Flat 25% off on purchase of Rs 799 & above",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE : Coupon code \"LKEND30\" is not valid.",
"Successful": 0,
"couponCode": "LKEND30",
"description": "Get 30% Discount on purchase of Rs 1299 & above. Products include Eyeglasses, Sunglasses & Contact Lenses and",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE : Coupon code \"LKEND35\" is not valid.",
"Successful": 0,
"couponCode": "LKEND35",
"description": "Get 35% Discount on purchase of Rs 1499 & above. Products include Eyeglasses, Sunglasses & Contact Lenses and",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "100",
"Successful": 1,
"couponCode": "OMGABV600",
"description": "Get Rs. 100 Discounton order of Rs. 600 & Above. Products include Eyeglasses, Sunglasses & Contact Lenses and",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE : Coupon code \"POWERSUN20\" isnot valid.",
"Successful": 0,
"couponCode": "POWERSUN20",
"description": "Get 20% OFFon Power Sunglasses. Select from a vast collection.",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "179.8",
"Successful": 1,
"couponCode": "WEEKEND20",
"description": "Flat 20% OFF on purchase of Rs 499 & above - NA on Premium Brands & Contact Lenses",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
}
]
我想按“储蓄”的降序对其进行排序。我正在使用以下代码
couponObj.sort(function (a, b) {
if (a[0].Saving == b[0].Saving)
return 0;
if (a[0].Saving > b[0].Saving)
return -1;
if (a[0].Saving < b[0].Saving)
return 1;
});
它给了我以下结果:
[
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE : Coupon code \"POWERSUN20\" is not valid.",
"Successful": 0,
"couponCode": "POWERSUN20",
"description": "Get 20% OFF on Power Sunglasses. Select from a vast collection.",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE : Coupon code \"LKEND35\" is not valid.",
"Successful": 0,
"couponCode": "LKEND35",
"description": "Get 35% Discount on purchase of Rs 1499 & above. Products include Eyeglasses, Sunglasses & Contact Lenses and",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE : Coupon code \"LKEND30\" is not valid.",
"Successful": 0,
"couponCode": "LKEND30",
"description": "Get 30% Discount on purchase of Rs 1299 & above. Products include Eyeglasses, Sunglasses & Contact Lenses and",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE : Coupon code \"LENS20130303\" is not valid.",
"Successful": 0,
"couponCode": "LENS20130303",
"description": "Get Rs. 500 Discount on purchase of Rs. 1000. Products include Eyeglasses, Sunglasses & Contact Lenses and",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE : Coupon code \"JJPREMIUM\" is not valid.",
"Successful": 0,
"couponCode": "JJPREMIUM",
"description": "Get Rs 600 Discount on John Jacobs Eyeglasses. Products include Eyeglasses. Choose from brand like John",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE : Coupon code \"CRIC300\" is not valid.",
"Successful": 0,
"couponCode": "CRIC300",
"description": "Get Rs. 300 Discount on purchase of Rs. 1199 & above. Products include Eyeglasses, Sunglasses & Contact Lenses",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "NOT APPLICABLE : Coupon code \"CRIC200\" is not valid.",
"Successful": 0,
"couponCode": "CRIC200",
"description": "Get Rs. 200 Discount on purchase of Rs. 999 &above. Products include Eyeglasses & Sunglasses and more. Choose",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "224.75",
"Successful": 1,
"couponCode": "LKEND25",
"description": "Flat 25% off on purchase of Rs 799 & above",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "179.8",
"Successful": 1,
"couponCode": "LKEND20",
"description": "Get 20% Discount on Eyeglasses. Minimum Purchase Rs. 499. Products include Eyeglasses. Choose from brands like",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "179.8",
"Successful": 1,
"couponCode": "WEEKEND20",
"description": "Flat 20%OFF on purchase of Rs 499 & above - NA on Premium Brands & Contact Lenses",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "100",
"Successful": 1,
"couponCode": "CRIC100",
"description": "Get Rs. 100 Discount on purchase of Rs. 599 & above. Products include Eyeglasses & Sunglasses and more. Choose",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
},
{
"BestCoupon": 0,
"Saving": "100",
"Successful": 1,
"couponCode": "OMGABV600",
"description": "Get Rs. 100 Discount on order of Rs. 600 & Above. Products include Eyeglasses, Sunglasses & Contact Lenses and",
"domain": "www.lenskart.com",
"url": "http://www.lenskart.com/checkout/cart/"
}
]
基本上,它在保存为字符串的数组项的顶部进行排序。我希望它们在底部。
【问题讨论】:
-
这是一个对象数组,不是 Json 字符串
-
为什么使用
a[0].Saving而不是a.Saving? -
我已编辑您的问题以删除对 JSON 的引用,因为它似乎与它没有任何关系。如果我错了,请随时纠正。
-
一个小建议:有一个名为 SavingText 的附加键并将“不适用”文本移动到那里并将 Saving 设置为 0。
-
如果你对他们在说什么感到困惑,JSON 是一种将数据放入字符串中以进行传输的方式,而对象是 JavaScript 中实际数据结构的使用方式
标签: javascript sorting