首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据JavaScript中的键值正确设置输入?

如何根据JavaScript中的键值正确设置输入?
EN

Stack Overflow用户
提问于 2018-11-14 02:49:31
回答 1查看 665关注 0票数 1

编写一个名为"sort_kvs“的函数,该函数将键值存储的列表/数组作为参数,其中每个键值存储都有键"power”、“纯度”、“打击”、“能力”和“自旋”所有映射到整数值的参数。根据键“纯度”处的值对输入进行排序。

代码语言:javascript
复制
function sort_kvs(lista){
    lista.sort(function(x){return x['purity']});
    return lista;
}

我做错了什么?

函数sort_kvs在输入[[{'strike': 11, 'power': 249, 'ability': 5, 'purity': 19, 'spin': 13}, {'strike': 18, 'power': 247, 'ability': 20, 'purity': 6, 'spin': 487}, {'strike': 11, 'power': 201, 'ability': -8, 'purity': 10, 'spin': 489}, {'strike': -17, 'power': 290, 'ability': 14, 'purity': 16, 'spin': 269}]]上不正确

结果:[{'strike': -17, 'power': 290, 'ability': 14, 'purity': 16, 'spin': 269}, {'strike': 11, 'power': 201, 'ability': -8, 'purity': 10, 'spin': 489}, {'strike': 18, 'power': 247, 'ability': 20, 'purity': 6, 'spin': 487}, {'strike': 11, 'power': 249, 'ability': 5, 'purity': 19, 'spin': 13}]

预期:[{'strike': 18, 'power': 247, 'ability': 20, 'purity': 6, 'spin': 487}, {'strike': 11, 'power': 201, 'ability': -8, 'purity': 10, 'spin': 489}, {'strike': -17, 'power': 290, 'ability': 14, 'purity': 16, 'spin': 269}, {'strike': 11, 'power': 249, 'ability': 5, 'purity': 19, 'spin': 13}]

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-14 02:54:43

sort的回调接受两个参数-一个是您正在比较的一个项,另一个是您正在比较的另一个项。因此,使用这两个参数调用sort,然后访问每个参数的purity属性,然后返回差异:

代码语言:javascript
复制
const sort_kvs = arr => arr.sort((a, b) => a.purity - b.purity);

const input=[[{'strike':11,'power':249,'ability':5,'purity':19,'spin':13},{'strike':18,'power':247,'ability':20,'purity':6,'spin':487},{'strike':11,'power':201,'ability':-8,'purity':10,'spin':489},{'strike':-17,'power':290,'ability':14,'purity':16,'spin':269}]];

console.log(sort_kvs(input[0]));

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53292477

复制
相关文章

相似问题

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