UNPKG

@wayz/react-gl

Version:

React Component for DeckGL, Base on AMap, Mapbox GL

39 lines (38 loc) 1.37 kB
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; /** * 对layers根据zIndex进行快速排序 * * @param {*} layers * @return {*} {*} */ export function quickSortLayerByZIndex(layers) { var len = layers.length; if (len > 1) { var pivot = Math.floor(len / 2); var pivotLayerZIndex = layers[pivot].props.zIndex ? layers[pivot].props.zIndex : 0; var left = [], center = [], right = []; for (var i = 0; i < len; i++) { var layer = layers[i]; var layerZIndex = layer.props.zIndex ? layers[i].props.zIndex : 0; if (layerZIndex > pivotLayerZIndex) { right.push(layer); } else if (layerZIndex < pivotLayerZIndex) { left.push(layer); } else { center.push(layer); } } return __spreadArray(__spreadArray(__spreadArray([], quickSortLayerByZIndex(left), true), center, true), quickSortLayerByZIndex(right), true); } return layers; }