我有一個使用jQuery和強調以下(縮短陣列):jQuery每一個,我需要在這裏創建一個閉包?
var all_methods = ['locations', 'items', 'by-cocktails'];
var to_methods = [];
$.each(all_methods, (function (key, val) {
if ($('.lm-search-options[data-action=' + val + ']').hasClass('del')) {
console.log('to remove: ' + val); // <- only the last piece is moved out despite multiple pieces being here
to_methods = _.without(all_methods, val);
}
}));
我所看到的行爲是隻有最後選定的DOM元素被移除(是的,我知道這ISN」不會贏得任何軟件設計獎項)。例如,如果'locations'和'items'被刪除,只有'items'被刪除。我看到的行爲是由於這裏需要新的關閉?
我想用[_.filter(http://underscorejs.org/#filter)是一個更好的解決方案 –