example/public/ueditor/third-party/highcharts/highcharts.src.js
function (options) {
		var ret,
			series = this.series,
			pointArrayMap = series.pointArrayMap || ['y'],
			valueCount = pointArrayMap.length,
			firstItemType,
			i = 0,
			j = 0;

		if (typeof options === 'number' || options === null) {
			ret = { y: options };

		} else if (isArray(options)) {
			ret = {};
			// with leading x value
			if (options.length > valueCount) {
				firstItemType = typeof options[0];
				if (firstItemType === 'string') {
					ret.name = options[0];
				} else if (firstItemType === 'number') {
					ret.x = options[0];
				}
				i++;
			}
			while (j < valueCount) {
				ret[pointArrayMap[j++]] = options[i++];
			}			
		} else if (typeof options === 'object') {
			ret = options;

			// This is the fastest way to detect if there are individual point dataLabels that need 
			// to be considered in drawDataLabels. These can only occur in object configs.
			if (options.dataLabels) {
				series._hasPointLabels = true;
			}

			// Same approach as above for markers
			if (options.marker) {
				series._hasPointMarkers = true;
			}
		}
		return ret;
	}
function (options) {
		var ret,
			series = this.series,
			pointArrayMap = series.pointArrayMap || ['y'],
			valueCount = pointArrayMap.length,
			firstItemType,
			i = 0,
			j = 0;

		if (typeof options === 'number' || options === null) {
			ret = { y: options };

		} else if (isArray(options)) {
			ret = {};
			// with leading x value
			if (options.length > valueCount) {
				firstItemType = typeof options[0];
				if (firstItemType === 'string') {
					ret.name = options[0];
				} else if (firstItemType === 'number') {
					ret.x = options[0];
				}
				i++;
			}
			while (j < valueCount) {
				ret[pointArrayMap[j++]] = options[i++];
			}			
		} else if (typeof options === 'object') {
			ret = options;

			// This is the fastest way to detect if there are individual point dataLabels that need 
			// to be considered in drawDataLabels. These can only occur in object configs.
			if (options.dataLabels) {
				series._hasPointLabels = true;
			}

			// Same approach as above for markers
			if (options.marker) {
				series._hasPointMarkers = true;
			}
		}
		return ret;
	}
function ( options ) { var ret , series = this . series , pointArrayMap = series . pointArrayMap || [ 'y' ] , valueCount = pointArrayMap . length , firstItemType , i = 0 , j = 0 ; if ( typeof options === 'number' || options === null ) { ret = { y : options } ; } else if ( isArray ( options ) ) { ret = { } ; // with leading x value if ( options . length > valueCount ) { firstItemType = typeof options [ 0 ] ; if ( firstItemType === 'string' ) { ret . name = options [ 0 ] ; } else if ( firstItemType === 'number' ) { ret . x = options [ 0 ] ; } i ++ ; } while ( j < valueCount ) { ret [ pointArrayMap [ j ++ ] ] = options [ i ++ ] ; } } else if ( typeof options === 'object' ) { ret = options ; // This is the fastest way to detect if there are individual point dataLabels that need  // to be considered in drawDataLabels. These can only occur in object configs. if ( options . dataLabels ) { series . _hasPointLabels = true ; } // Same approach as above for markers if ( options . marker ) { series . _hasPointMarkers = true ; } } return ret ; }
Transform number or array configs into objects
Transform number or array configs into objects