将对象键作为javascript函数参数传递

时间:2014-04-22 21:33:06

标签: javascript object parameters arguments key-value

我有一个对象op_hours,它有一周中的几天作为来自mon-sun的键,以字符串数组作为值(在我的实际代码中,值是对象的数组,但我已将它们更改为字符串简单)。

如何通过将所需的密钥传递给函数参数来添加/删除某个键的字符串?

例如,

function add(somethingToAdd, op_hours, key) {
  var sample = op_hours.key;
  sample.push(somethingToAdd);
  op_hours.key = sample;
  return op_hours;
}

var op_hours = {

  "mon": ["apple","orange"],
  "tue": ["table", "chair"],
  "wed": ["shark", "dolphin", "jellyfish"],
  "thu": [],
  "fri": [],
  "sat": [],
  "sun": []
};

我目前必须编写14个函数,7个用于添加,7个用于删除,如下所示:

function addMon(miniObj, bigObj) {
  var sample = bigObj.mon;
  sample.push(miniObj);
  bigObj.mon = sample;
  return bigObj;
}}

1 个答案:

答案 0 :(得分:1)

您可以使用数组表示法访问特定键:

op_hours[key].push('shark')

其中key === "thu"例如

会给你:

 op_hours = {

  "mon": ["apple","orange"],
  "tue": ["table", "chair"],
  "wed": ["shark", "dolphin", "jellyfish"],
  "thu": ["shark"],
  "fri": [],
  "sat": [],
  "sun": []
}