code: function removeObject (obj, iterate, context) {
    if (obj) {
      if (arguments.length > 1) {
        var removeKeys = []
        var rest = []
        context = context || this
        if (!isFunction(iterate)) {
          iterate = pluckProperty(iterate)
        }
        each(obj, function (item, index, rest) {
          if (iterate.call(context, item, index, rest)) {
            removeKeys.push(index)
          }
        })
        if (isArray(obj)) {
          lastEach(removeKeys, function (item, key) {
            rest.push(obj[item])
            obj.splice(item, 1)
          })
        } else {
          rest = {}
          arrayEach(removeKeys, function (key) {
            rest[key] = obj[key]
            deleteProperty(obj, key)
          })
        }
        return rest
      }
      return clearObject(obj)
    }
    return obj
  }
docs: 移除对象属性
  
  @param {Object/Array} obj 对象/数组
  @param {Function/String} iterate 方法或属性
  @param {Object} context 上下文
  @return {Object/Array}