Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将对象转换为排序数组?_Javascript_Arrays_Algorithm_Object_Lodash - Fatal编程技术网

Javascript 如何将对象转换为排序数组?

Javascript 如何将对象转换为排序数组?,javascript,arrays,algorithm,object,lodash,Javascript,Arrays,Algorithm,Object,Lodash,我想将其转换为基于键数组排序的值数组: { tom: 1, jim: 2, jay: 3 } 输入->输出示例: ['jim','tom','jay']->[2,1,3] ['jay','tom','jim']->[3,1,2] 我怎样才能做到这一点?我更喜欢一行的lodash解决方案。您可以使用lodash获得一个按您想要的顺序排列的值数组: var数据={ 汤姆:1, 吉姆:2, 杰伊:3 }; var result1=uu.at(数据,['jim','tom','jay']

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

{
  tom: 1,
  jim: 2,
  jay: 3
}
输入
->
输出
示例:

['jim','tom','jay']
->
[2,1,3]

['jay','tom','jim']
->
[3,1,2]

我怎样才能做到这一点?我更喜欢一行的lodash解决方案。

您可以使用lodash获得一个按您想要的顺序排列的值数组:

var数据={
汤姆:1,
吉姆:2,
杰伊:3
};
var result1=uu.at(数据,['jim','tom','jay']);
var result2=u2; at(数据,['jay','tom','jim']);
log(“['jim','tom','jay']->”,JSON.stringify(result1));
log(“['jay','tom','jim']->”,JSON.stringify(result2))
您可以使用lodash来按所需顺序获取值数组:

var数据={
汤姆:1,
吉姆:2,
杰伊:3
};
var result1=uu.at(数据,['jim','tom','jay']);
var result2=u2; at(数据,['jay','tom','jim']);
log(“['jim','tom','jay']->”,JSON.stringify(result1));
log(“['jay','tom','jim']->”,JSON.stringify(result2))

您可以使用纯Javascript映射值

var data={tom:1,jim:2,jay:3},
顺序=['jim'、'tom'、'jay'],
结果=order.map(k=>data[k]);

控制台日志(结果)您可以使用纯Javascript映射值

var data={tom:1,jim:2,jay:3},
顺序=['jim'、'tom'、'jay'],
结果=order.map(k=>data[k]);
控制台日志(结果)
const数据={
汤姆:1,
吉姆:2,
杰伊:3
}
常量顺序=['jay'、'tom'、'jim'];
const result=order.map((项)=>data[item]);
控制台日志(结果)
const数据={
汤姆:1,
吉姆:2,
杰伊:3
}
常量顺序=['jay'、'tom'、'jim'];
const result=order.map((项)=>data[item]);
控制台日志(结果)

哪个对我更友好

哪个对我更友好

function SortByKeyArray(obj, key_arr) {
    return key_arr.map(k => obj[k]);
}
let SortByKeyArray = (obj, keys) => keys.map(k => obj[k]);