-3

使用 javascript 或 linq.js 结合它的最佳方法是什么?我正在尝试缩短我所做的工作,它可以正常工作,但我正在尝试用更少的代码提高效率。

if (e.values.sqft == null) {
    updatedSqft = e.model.sqft
}
else {
    updatedSqft = e.values.sqft
}

if (e.values.price == null) {
    updatedPrice = e.model.price
}
else {
    updatedPrice = e.values.price
}
4

3 回答 3

1

您可以尝试简写代码

格式

variable = condition ? option 1 : option 2;

如果满足条件,则将设置 option1,否则将设置 option2。

null,undefined,""将始终返回 false。

像这样试试

updatedSqft = e.values.sqft ? e.values.sqft : e.model.sqft;
updatedPrice = e.values.price ? e.values.price : e.model.price'
于 2015-05-28T16:05:47.907 回答
1
updatedSqft = e.model.sqft == null ? e.values.sqft : e.model.sqft;
updatedPrice = e.values.price == null ? e.values.price : e.model.price;

它称为条件三元运算符,请参阅此处的链接。它不特定于 Javascript,您也可以使用其他语言来执行此操作,例如C#.

于 2015-05-28T16:06:41.313 回答
1

对于大多数程序员来说,由于可读性,您所做的是最好的方法......
但是,如果您想要更紧凑的代码,您可以使用以下内容:

// Ternary operator
updatedSqft = e.values.sqft ? e.values.sqft : e.model.sqft;
updatedPrice = e.values.price ? e.values.price : e.values.price;

// Logical OR
updatedSqft = e.values.sqft || e.model.sqft;
updatedPrice = e.values.price || e.model.price;

MDN中的三元运算符MDN 中的
逻辑 OR 运算符

于 2015-05-28T16:09:08.223 回答