delete( keys ) {

		let map = this.weakMap;

		for ( let i = 0; i < keys.length - 1; i ++ ) {

			map = map.get( keys[ i ] );

			if ( map === undefined ) return false;

		}

		return map.delete( keys[ keys.length - 1 ] );

	}
Deletes a value for the given keys.

@param {Array<Object>} keys - The keys.
@return {boolean} Returns `true` if the value has been removed successfully and `false` if the value has not be found.