lodash(difference)

318 阅读1分钟
function _difference(array, value) {
    let index = -1,
    arrayLength = array.length,
    result = [],
    valueLength = value.length
    outer:
    while (++index < arrayLength) {
    var len = valueLength
    while (len--) {
      if (array[index] === value[len]) {
        continue outer
      }
    }
    result.push(array[index])
    }
    return result
 }
   console.log(_difference([3, 2, 5, 6], [1, 2]));   //[3,5,6]
    ```
`outer`阻断双重循环,直接跳出循环到`outer:`标记地方继续循环

`思想:`利用`while`双重循环使数组`value`每个值和数组`array`的一个值作比较  如果相等则跳出循环到下一个`array`的值进行比较  并把`value`循环长度重置  如果当前循环`value`每个值和`array`当前循环的值都不相等则插入result数组