array.sort()正在使用一个返回数字的函数。所以通常是这样的
result = pd.DataFrame(X_train_sam)
result.columns = train_1.columns
好吧,我想拥有的是:
myArray.sort((item1, item2) => a < b);
所以:
它应该看起来像这样...不幸的是我不能用各种方法来工作。
myArray.sort(by(obj => obj.id))
我在正确的轨道上吗?
谢谢!
答案 0 :(得分:1)
是的,几乎没问题,我也会让它变得通用以获得额外的类型安全性:
const by = <T>(getter: (v: T) => number) => (x :T, y :T) => {
var xValue = getter(x);
var yValue = getter(y);
if (xValue > yValue)
return 1;
else if (xValue < yValue)
return -1;
else return 0;
}
let myArray = [
{ id : 1 },
{ id : 5 },
{ id : 3 },
{ id : 2 },
]
myArray.sort(by(o=> o.id)); // o is inferred to { id: number }, which should be helpful