### Version 2.5.2 ### Reproduction link [https://jsfiddle.net/CHENGKANG/4owjvLLk/5/](https://jsfiddle.net/CHENGKANG/4owjvLLk/5/) ### Steps to reproduce 1. Add multiple custom event listeners ```js this.$on(['event1', 'event2'], () => { console.log('This is callback.') }) ``` 2. Try to remove them with `vm.$off` ``` this.$off(['event1', 'event2']) ``` 3. Try to emit the removed events ``` this.$emit('event1') ``` ### What is expected? Nothing should happen because the event listeners should have been removed. ### What is actually happening? Got `"This is callback."` printed in the console, which means that the event listeners are not removed as expected. --- Please check [my post](https://forum.vuejs.org/t/vm-off-not-working-when-passing-an-array-as-first-argument/20555) in Vue forum for more details. <!-- generated by vue-issues. DO NOT REMOVE -->