我有两个问题,一个是围绕角度倾斜转换时我注意到的行为而发生的……第二个是排序数组问题,它触发了#1问题。
我要排序的数组看起来像这样-称它为THINGS数组:
[{
label : string,
primary: boolean
}]
基本上是带有“主”字段的标签,该字段本质上是布尔值,因此值是true,false或null。我想排序,因此布尔TRUE是第一个,布尔FALSE是后一个,而NULL是最后一个。标签在每个分组中按字母顺序排列。
我只是想做一个简单的JS数组排序-不需要TS-
this.user.things.sort( function(a, b){ return b.primary > a.primary} );
所以我的编辑器正在警告我TS错误...由于代码有效,我将其忽略。
[ts] 类型'(a:ThingModel,b:ThingModel)=>布尔值的参数不能分配给类型'(a:ThingModel,b:ThingModel)=>数字的参数。 不能将'boolean'类型分配给'number'类型。
我想我将从问题2开始。因为同样的错误会在转换时显示出来
即使这是普通的JS-我也不想看到波浪形的线条,以及在发送时出现红色错误。
问题2:如何使此TS兼容?
然后,当我进行翻译时-即使我得到了错误-几秒钟后-我仍然收到“编译成功”消息-该站点可以正常工作。
问题1:有人可以在转译器上向我解释-或向我指出文档-哪些错误被认为是致命的-无开始错误,哪些错误将像这样,在其中引发红色错误-但无论如何都可以完成编译,并且代码可以正常工作。这不仅仅是解决错误,更是一个教育问题。但我想了解它。
谢谢。
答案 0 :(得分:2)
您需要返回UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Title" message:@"" preferredStyle:UIAlertControllerStyleActionSheet];
for(NSString *str array){
UIAlertAction *button = [UIAlertAction actionWithTitle:str style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
[self.button setTitle:str forState:UIControlStateNormal];
}];
[alert addAction:button];
}
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {
}];
[alert addAction:cancel];
[self presentViewController:alert animated:YES completion:nil];
而不是number
值
boolean
现在它将不会引发任何警告或错误。
答案 1 :(得分:1)
您可以只返回第二个值和第一个值的差值。
使用比较运算符会像使用减运算符一样进行隐式类型转换。
var array = [false, true, true, false, false, true];
array.sort((a, b) => b - a);
console.log(array);