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]);