本文介绍一个JavaScript函数,实现向数组末尾添加元素、去除重复元素,并逆序返回指定数量元素的功能。
以下是一些测试用例:
// 测试用例1let list1 = [ { id: 2 }, { id: 3 }, { id: 4 }];let newelement1 = { id: 2 };console.log(updateList(list1, newelement1)); // 预期输出: [{id: 2}, {id: 3}, {id: 4}]// 测试用例2let list2 = [ { id: 1 }, { id: 2 }, { id: 3 }, { id: 4 }];let newelement2 = { id: 3 };console.log(updateList(list2, newelement2)); // 预期输出: [{id: 3}, {id: 2}, {id: 1}]// 测试用例3let 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 向数组末尾添加元素并去重,然后逆序返回指定数量的元素?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3176994.html