如何从多个阵列中删除?

Mod*_*rmo 1 javascript arrays

假设我有两个坐在对象内的数组,以及一个从用户指定的数组中删除项目的函数.

var warehouse{
  shirts: [],
  shorts: [],

  deleteItem: function(itemType, itemNumber){
    this.itemType.splice(itemNumber, 1);
  }
}
Run Code Online (Sandbox Code Playgroud)

所以,如果我这样做:

function('shirts', 0);
Run Code Online (Sandbox Code Playgroud)

它应该删除'shirts'数组中的第一项.问题是,它告诉我itemType即将出现undefined

Ger*_*ado 6

您应该使用括号表示法:

var warehouse = {
  shirts: [1, 2, 3, 4],
  shorts: [1, 2, 3, 4],
  deleteItem: function(itemType, itemNumber){
    this[itemType].splice(itemNumber, 1);
  }
};

warehouse.deleteItem("shirts", 0);
console.log(warehouse);
Run Code Online (Sandbox Code Playgroud)