Javascript 访问JS对象内的数组并通过索引从中删除项

Javascript 访问JS对象内的数组并通过索引从中删除项,javascript,arrays,object,Javascript,Arrays,Object,假设我有一个对象,其中的值是数组,如下所示: { 123456: ['apple','orange','banana'], 987654: ['dog','cat','mouse'], 112233: ['car','truck','bike'] } 我可以访问两个变量,一个是分配了键的itemID,另一个是要删除的项的数组索引。 比如说 itemID = 987654; n = 1; 所以我想要得到的结果是 { 123456: ['apple','orange','bana

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

{
  123456: ['apple','orange','banana'],
  987654: ['dog','cat','mouse'],
  112233: ['car','truck','bike']
}
我可以访问两个变量,一个是分配了键的itemID,另一个是要删除的项的数组索引。 比如说

itemID = 987654;
n = 1;
所以我想要得到的结果是

{
  123456: ['apple','orange','banana'],
  987654: ['dog','mouse'],
  112233: ['car','truck','bike']
}
我需要写一个函数

removeItem(itemID, n) {
}

最好的方法是什么?

可以使用
splice
方法:

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

var foo={
123456:[“苹果”、“橘子”、“香蕉”],
987654:[“狗”、“猫”、“老鼠”],
112233:[“汽车”、“卡车”、“自行车”]
};
const removietem=(itemID,n)=>{
如果(!foo[itemID])
返回;
foo[itemID].拼接(n,1);
返回foo;
}
日志(removietem(987654,1))以下是解决方案

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


function removeItem(itemID, n) {
 if(!obj[itemID]) {
  return;
 }
 obj[itemID].splice(n, 1);
}

removeItem(987654, 1);
console.log(obj);
我会补充一些解释, 按键访问对象:obj[key]

Array.splice在这种情况下, 意思是(拼接(n,1))-取索引n处的项目,并从该索引中恰好删除一个项目

另请注意: 访问对象时,键应为字符串 所以我要换衣服
removietem(987654,1)
致:
removietem('987654',1)

它将以两种方式工作。

尝试以下方法:

var obj = /*ur obj*/
var itemID = 987654;
var n = 1;

removeItem(itemID, n) {
  let str = obj[itemID][n];
  this.obj[itemID] = obj[itemID].filter(item => item != str);
}

var数据={ 123456:[“苹果”、“橘子”、“香蕉”], 987654:[“狗”、“猫”、“老鼠”], 112233:[“汽车”、“卡车”、“自行车”] }; 函数removeItem(itemID,n){ 数据[itemID]=数据[itemID]。筛选器(函数(值、索引、数组){ 返回索引!=n; }); document.getElementById(“demo”).innerHTML=JSON.stringify(数据); }
请添加您尝试过的内容。我删除了我的答案,因为您的答案具有更好的结构和代码段,而此答案可能是正确的。只有代码的答案很少有帮助。请评论您的代码,并解释此代码如何解决问题。