我要将其转换为基于键数组排序的值数组:

{
  tom: 1,
  jim: 2,
  jay: 3
}

Input>Output示例:
['jim', 'tom', 'jay']>[2, 1, 3]
['jay', 'tom', 'jim']>[3, 1, 2]
我怎样才能做到这一点?我想要一种一线的洛达斯溶液。

最佳答案

您可以使用lodash的_.at()按所需的顺序获取值数组:

var data  = {
  tom: 1,
  jim: 2,
  jay: 3
};

var result1 = _.at(data, ['jim', 'tom', 'jay']);
var result2 = _.at(data, ['jay', 'tom', 'jim']);

console.log("['jim', 'tom', 'jay'] -> ", JSON.stringify(result1));
console.log("['jay', 'tom', 'jim'] -> ", JSON.stringify(result2));

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

关于javascript - 如何将对象转换为排序数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45898358/

10-12 01:47