📅  最后修改于: 2023-12-03 15:39:47.669000             🧑  作者: Mango
在Javascript中删除一个数组中的特定项目可以使用splice()
函数。使用splice()
函数需要指定需要删除的项目的索引和要删除的项目数。但是,如果您想根据项目的唯一 id 删除项目,该怎么办呢?
以下是按照唯一 id 从Javascript数组中删除项目的示例代码,供您作为参考:
/**
* 从Javascript数组中根据唯一 id 删除项目
* @param {Array} arr - 要删除项目的数组
* @param {String} id - 要删除项目的唯一 id
* @returns {Array} - 删除后的新数组
*/
function removeItemById(arr, id) {
const index = arr.findIndex(item => item.id === id); // 找到要删除项的索引
if (index === -1) return arr; // 如果要删除的项目不存在,则返回原数组
arr.splice(index, 1); // 删除找到的项目
return [...arr]; // 返回新的数组
}
// 示例使用
const items = [
{ id: "1", name: "apple" },
{ id: "2", name: "banana" },
{ id: "3", name: "orange" }
];
console.log('items:', items);
const newItems = removeItemById(items, "2");
console.log('newItems:', newItems);
首先,我们定义了一个名为removeItemById()
的函数。该函数有两个参数 arr
和id
,其中arr
是要删除项目的数组,id
是要删除项目的唯一 id。
接下来,我们使用findIndex()
方法查找要删除的项目在数组中的索引。findIndex()
方法返回查询的结果的索引。如果没有找到,则返回-1。
接下来,我们检查要删除的项目的索引是否存在。如果索引等于-1,则表示要删除的项目不存在。在这种情况下,我们简单地返回原数组,因为没有什么可以从数组中删除的项目(参见第13行)。
如果找到了要删除的项目,我们使用splice()
函数删除它。 splice()
函数接受两个参数,第一个参数是索引,指定要删除的项目从哪里开始,第二个参数是项目数。在我们的情况下,我们只删除一个项目,所以我们使用1作为第二个参数(参见第15行)。
最后,我们在函数中返回新的数组,以便调用方可以轻松地获得删除项后的数组。使用SPREAD运算符是因为原始数组不应该被篡改(参见第16行)。
这个示例代码运行后,它将删除具有id值“2”的项目并返回删除后的新数组。在我们的例子中,这个新数组将只包含两个项目,即具有id值“1”和“3”的项目。
使用上述示例代码,可以轻松地按照唯一id值从Javascript数组中删除想要的项目。如果您在编写Javascript代码时遇到了需要从数组中删除特定项目的情况,那么这个示例代码可能会对您有所帮助。