【问题标题】:Remove items from associative array in Javascript从Javascript中的关联数组中删除项目
【发布时间】:2018-08-27 04:42:10
【问题描述】:

我的 JS 中有一个关联数组,我想提供给我的 Select。

这些是可以刷新我的可用时间(页面加载时)的标准可用时间;

var standardhours = {
  "09" : '9AM',
  "10" : '10AM',
  "11" : '11AM',
  "12" : 'Noon',
  "13" : '1PM',
  "14" : '2PM',
  "15" : '3PM',
  "16" : '4PM',
  "17" : '5PM',
  "18" : '6PM',
  "19" : '7PM'
};

这些是我想要提供给我的 Select 的可用时间。

var availablehours = {
    "09" : '9AM',
    "10" : '10AM',
    "11" : '11AM',
    "12" : 'Noon',
    "13" : '1PM',
    "14" : '2PM',
    "15" : '3PM',
    "16" : '4PM',
    "17" : '5PM',
    "18" : '6PM',
    "19" : '7PM'
};

这是我的动态变量,它根据数据库的变化而变化。这些是已经有人花费的时间了。

takenHours = {"09", "18"};

我想从availablehours 关联数组中删除takedHours。不知道怎么做。我的思考过程感觉非常手动和简单。

【问题讨论】:

  • 这是一个无效的对象。
  • takenHours 应该是这样的数组吗? takenHours = ["09", "18"];

标签: javascript associative-array


【解决方案1】:

如果我理解正确,那么你应该可以通过delete操作符实现availablehours的这种变异,如图:

var availablehours = {
  "09": '9AM',
  "10": '10AM',
  "11": '11AM',
  "12": 'Noon',
  "13": '1PM',
  "14": '2PM',
  "15": '3PM',
  "16": '4PM',
  "17": '5PM',
  "18": '6PM',
  "19": '7PM'
};
console.log(availablehours);

var takenHours = ["09", "18"];

// Iterate through the hours to be removed
for (var takenHour of takenHours) {

  // For each hour key, use the delete operator to remove 
  // the key/value pair from availablehours completlty
  delete availablehours[takenHour]
}

// availablehours will no longer contain "09" or "18" key/value pairs
console.log(availablehours);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 2015-10-25
    • 1970-01-01
    • 2015-07-21
    • 2021-04-24
    • 2012-07-16
    • 1970-01-01
    相关资源
    最近更新 更多