【发布时间】:2018-11-19 16:28:45
【问题描述】:
我有一个带有一些键的基本对象,以及具有相似但不一定完全相同的键的对象列表。
const o1 = {k1: "", k2: "", k3: ""} // the basic object
const o2 = {k1: "", k4: ""} // 1 the same key
const o3 = {k1: "", k3: ""} // 2 the same keys
const o4 = {k3: "", k1: "", k2: ""} // 3 the same keys
const o5 = {k5: ""} // 0 the same keys
我想编写一个函数,它接受基础对象和其他对象的数组,它会根据给定对象中相似键的数量对它们进行排序/排序。
function order(obj, arr) {
// ...
}
结果应该是给定对象的有序数组,基于与基础对象相同的键数。
order(o1, [o2, o3, o4, o5])
// result: [o4, o3, o2, o5]
你会用什么?
我正在考虑按对象键上的交集长度进行排序。
【问题讨论】:
-
Object.keys()、Array.sort()和任何形式的循环来检查/计算匹配的属性
标签: javascript ecmascript-6 functional-programming lodash