
本文介绍一个JavaScript函数,实现向数组末尾添加元素、去除重复元素,并逆序返回指定数量元素的功能。
以下是一些测试用例:
// 测试用例1
let list1 = [
{ id: 2 },
{ id: 3 },
{ id: 4 }
];
let newelement1 = { id: 2 };
console.log(updateList(list1, newelement1)); // 预期输出: [{id: 2}, {id: 3}, {id: 4}]
// 测试用例2
let list2 = [
{ id: 1 },
{ id: 2 },
{ id: 3 },
{ id: 4 }
];
let newelement2 = { id: 3 };
console.log(updateList(list2, newelement2)); // 预期输出: [{id: 3}, {id: 2}, {id: 1}]
// 测试用例3
let list3 = [
{ id: 1 },
{ id: 2 },
{ id: 3 },
{ id: 4 }
];
let newelement3 = { id: 5 };
console.log(updateList(list3, newelement3)); // 预期输出: [{id: 5}, {id: 4}, {id: 3}]实现代码如下:
function updateList(list, newElement) {
// 处理非数组输入
if (!Array.isArray(list)) {
list = [];
}
// 对象比较函数
const isEqual = (a, b) => JSON.stringify(a) === JSON.stringify(b);
// 查找并移除重复元素
list = list.filter(item => !isEqual(item, newElement));
// 添加新元素
list.push(newElement);
// 逆序返回后三个元素
return list.slice(-3).reverse();
}该函数首先检查输入是否为数组,如果不是则初始化为空数组。然后使用JSON.stringify进行对象比较,找到并移除与新元素相同的元素。接着将新元素添加到数组末尾,最后截取数组后三个元素并逆序返回。 此方法比使用Object.keys和every方法更高效简洁。 该函数确保了即使输入是空数组或非数组,也能正常运行,并处理了对象比较的问题,使其更加健壮。
立即学习“Java免费学习笔记(深入)”;
以上就是如何使用 JavaScript 向数组末尾添加元素并去重,然后逆序返回指定数量的元素?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号