首页 > 解决方案 > 访问 JS 对象内的数组并通过索引从中删除一个项目

问题描述

假设我有一个对象,其中值是数组,如下所示:

{
  123456: ['apple','orange','banana'],
  987654: ['dog','cat','mouse'],
  112233: ['car','truck','bike']
}

并且我可以访问 2 个变量、分配给它的键的 itemID 以及我要删除的项目的数组索引。例如

itemID = 987654;
n = 1;

所以我想要得到的结果对象是

{
  123456: ['apple','orange','banana'],
  987654: ['dog','mouse'],
  112233: ['car','truck','bike']
}

我需要写一个函数

removeItem(itemID, n) {
}

最好的方法是什么?

标签: javascriptarraysobject

解决方案


可以使用splice以下方法完成:

const removeItem = (itemID, n) => {
    if (!foo[itemID])
        return;
    foo[itemID].splice(n,1);
    return foo;
}

一个例子:

var foo = {
  123456: ['apple','orange','banana'],
  987654: ['dog','cat','mouse'],
  112233: ['car','truck','bike']
};


const removeItem = (itemID, n) => {
    if (!foo[itemID])
        return;
    foo[itemID].splice(n, 1);
    return foo;
}

console.log(removeItem(987654, 1));


推荐阅读