将用户选择添加到数组

Add user selections to an array

我需要将多选列表中的选项添加到数组中,并确保如果用户取消选择其中一个选项,它会从数组中删除。我已经研究了 slice 和 push 数组方法,但我对 JavaScript 还是个新手。这是我的选择列表:

<select id="topic" multiple>
    <option value="general">General</option>
    <option value="feedback">Feedback</option>
    <option value="question">Question</option>
    <option value="concern">Concern</option>
    <option value="request">Request</option>
</select>

这样的怎么样?

var values = [];
var select = document.getElementById('topic');
select.addEventListener('change', function() {
  values = [];

  for (var i = 0; i < select.selectedOptions.length; i++) {
    var option = select.selectedOptions[i];
    values.push(option.value);
  };

  console.log(values);
});

例如:http://jsbin.com/xayuge/1/