首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按其属性对特定结构对象进行排序

按其属性对特定结构对象进行排序
EN

Stack Overflow用户
提问于 2014-02-07 15:30:16
回答 1查看 36关注 0票数 0

所以我有这样一个虚拟的数据对象:

代码语言:javascript
复制
var Products = {
    'sku': {n:'Trampolines rain covers',v:'7Ft',l:'http://www.google.com',i:['media/cache/search/media/1151-Trampoline-jumping-mat.png','media/cache/searchSuggest/media/1151-Trampoline-jumping-mat.png','#'],r:['4','3.2','0','1','3','0','0'],p:['7.99','9.99'],d:'Some kind of description',f:'Features',b:'Benefits',s:'Specifications'},
    'sku2': {n:'Icon cast adjustable dumbbell',v:'10kg',l:'http://www.google.com',i:['media/cache/search/media/1167-Single-dumbbell.png','media/cache/searchSuggest/media/1167-Single-dumbbell.png','#'],r:['4','2.5','1','0','1','0','2'],p:['7.99','9.99'],d:'Some kind of description',f:'Features',b:'Benefits',s:'Specifications'},
    'sku3': {n:'Trampolines safety net & bases',v:'6Ft',l:'http://www.google.com',i:['media/cache/search/media/1195-Trampoline-safety-net.png','media/cache/searchSuggest/media/1195-Trampoline-safety-net.png','#'],r:['3','3.5','1','0','1','0','1'],p:['7.99','9.99'],d:'Some kind of description',f:'Features',b:'Benefits',s:'Specifications'},
    'sku4': {n:'Andico spring for trampolines',v:'5.5 inch',l:'http://www.google.com',i:['media/cache/search/media/1166-Trampoline.png','media/cache/searchSuggest/media/1166-Trampoline.png','#'],r:['3','3.5','1','0','1','0','1'],p:['7.99','9.99'],d:'Some kind of description',f:'Features',b:'Benefits',s:'Specifications'}
}

然后我有一系列skus

代码语言:javascript
复制
var skus = ['sku','sku3','sku4'];

我的任务是通过sku对象属性n (多个单词的字符串/产品标题)按字母升序对数组进行排序。

我知道我应该使用.sort(ref)函数,但是我想知道函数在里面,比如:

代码语言:javascript
复制
skus.sort(function(a,b) { });

但我找不出如何制定内部功能来完成工作。也许我该换种方式做这件事?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-07 15:33:59

你就快到了。在函数中,使用ab查找Products对象上的条目,以便比较条目:

代码语言:javascript
复制
skus.sort(function(a, b) {
    var an = Products[a].n,
        bn = Products[b].n;
    if (an === bn) {
        return 0;
    }
    return an < bn ? -1 : 1;
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21631644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档