案例:考虑使用2列存储在sql-database中的列表:
-----------------------
Note | Index_Value
-----------------------
Yellow | 4
Red | 7
Blue | 3
Grey | 30
只需在Index_Value
列上排序,即可向用户显示此列表的数据,该列显示为:
Blue
Yellow
Red
Grey
如何在Grey
和Red
之间移动Blue
Grey
,但不影响( Index_Value(Previous) + Index_Value(After) )/2
的索引值以外的任何其他行?
我想出了简单的数学,但它远非完美
解决方案:移动对象之间的值的中位数
(7 + 3)/2 = 5.5
return (
<div className="minesweeper-wrapper">
<div className="minesweeper-field" style={this.getDimensions()}>
{this.state.proximityMap.map(function(verticalRow, vIndex){
return verticalRow.map(function(tileValue, hIndex){
return <MinesweeperTile value={tileValue} hIndex={hIndex} vIndex={vIndex} onClick={this.exploreTile.bind(this, vIndex, hIndex, tileValue)} isExplored={this.state.explorationMap[vIndex][hIndex]} />
});
})}
</div>
</div>
);
这种方法在重复几次后就产生大的十进制数。