以下是一个示例代码,演示了按照最小对象值进行去重数组的解决方法:
function removeDuplicates(arr) {
// 创建一个空的对象,用于存储每个对象的最小值
let uniqueObj = {};
// 遍历数组中的每个对象
for (let i = 0; i < arr.length; i++) {
let obj = arr[i];
// 如果对象不存在于 uniqueObj 中,将其添加进去
if (!(JSON.stringify(obj) in uniqueObj)) {
uniqueObj[JSON.stringify(obj)] = obj;
} else {
// 如果对象已存在,比较其值,保留最小值的对象
let existingObj = uniqueObj[JSON.stringify(obj)];
if (Object.values(obj)[0] < Object.values(existingObj)[0]) {
uniqueObj[JSON.stringify(obj)] = obj;
}
}
}
// 返回去重后的对象数组
return Object.values(uniqueObj);
}
// 示例用法
let arr = [
{ value: 3 },
{ value: 2 },
{ value: 5 },
{ value: 2 },
{ value: 4 },
{ value: 3 }
];
let uniqueArr = removeDuplicates(arr);
console.log(uniqueArr); // 输出: [ { value: 2 }, { value: 3 }, { value: 4 }, { value: 5 } ]
以上代码通过创建一个空对象 uniqueObj
来存储每个对象的最小值,然后遍历数组中的每个对象,判断是否已经存在于 uniqueObj
中。如果不存在,则将其添加进去;如果已存在,则比较其值,保留最小值的对象。最后,返回去重后的对象数组。
上一篇:按照最小订单产量改变排序的SQL