items (value, schema, opts) {
    opts || (opts = {})
    // TODO: additionalItems
    let items = schema.items
    let errors = []
    const checkingTuple = utils.isArray(items)
    const length = value.length
    for (var prop = 0; prop < length; prop++) {
      if (checkingTuple) {
        // Validating a tuple, instead of just checking each item against the
        // same schema
        items = schema.items[prop]
      }
      opts.prop = prop
      errors = errors.concat(validate(value[prop], items, opts) || [])
    }
    return errors.length ? errors : undefined
  }
Validates each of the provided array values against a schema or an array of schemas defined by the Schema's `items` keyword
see http://json-schema.org/latest/json-schema-validation.html#anchor37 for validation rules.

@name Schema.validationKeywords.items
@method
@param {*} value Array to be validated.
@param {object} schema Schema containing the items keyword.
@param {object} [opts] Configuration options.
@returns {(array|undefined)} Array of errors or `undefined` if valid.