| /*! | 
|  * arr-diff <https://github.com/jonschlinkert/arr-diff> | 
|  * | 
|  * Copyright (c) 2014-2017, Jon Schlinkert. | 
|  * Released under the MIT License. | 
|  */ | 
|   | 
| 'use strict'; | 
|   | 
| module.exports = function diff(arr/*, arrays*/) { | 
|   var len = arguments.length; | 
|   var idx = 0; | 
|   while (++idx < len) { | 
|     arr = diffArray(arr, arguments[idx]); | 
|   } | 
|   return arr; | 
| }; | 
|   | 
| function diffArray(one, two) { | 
|   if (!Array.isArray(two)) { | 
|     return one.slice(); | 
|   } | 
|   | 
|   var tlen = two.length | 
|   var olen = one.length; | 
|   var idx = -1; | 
|   var arr = []; | 
|   | 
|   while (++idx < olen) { | 
|     var ele = one[idx]; | 
|   | 
|     var hasEle = false; | 
|     for (var i = 0; i < tlen; i++) { | 
|       var val = two[i]; | 
|   | 
|       if (ele === val) { | 
|         hasEle = true; | 
|         break; | 
|       } | 
|     } | 
|   | 
|     if (hasEle === false) { | 
|       arr.push(ele); | 
|     } | 
|   } | 
|   return arr; | 
| } |