javascript - 如果 x = null 则将对象属性分配给值
问题描述
我有一个 Ember 计算属性,它从 ember 模型创建一个对象。
在其中一个对象属性中,我试图评估一个 ID 是否存在,以及在它不使属性为 0 而不是 null 的情况下。
计算的属性如下:
SpecSortData: computed('customerfr', function() {
let newArray = [];
this.get('customerfr').forEach(function(x) {
function idCheck() {
if (x.data.speciality_id !== null) {
return x.data.specialty_id
} else {
return 0
}
};
let newData = {
specialtyID: x.data.specialty_id,
specialty: x.data.specialty_name,
customerID: x.data.customer_id,
tspecID: idCheck()
}
newArray.push(newData)
})
return newArray
}),
我无法正确评估 idCheck() 函数。special_id 字段是数字或空值。如果它是一个数字,我希望 tspecID 是那个数字。在它为空的情况下,我希望 tspecID 为 0。
上述函数当前将 speciality_id 编号添加到 tspecID 属性,但它不处理 null 情况,它们保持为 null。如果我反转条件,我会将所有 tspecID 属性设置为 0。
我已经尝试了一些条件的变化,并且总是以以下任何一个结束:
- specID = specialID,空案例保持为空
- tspecID = 始终为 0
我觉得我在评估或函数构造中犯了一个基本错误,但我很难过。
解决方案
You could use a logical OR ||
and take zero if speciality_id
is falsy.
BTW, speciality_id !== specialty_id
.
function idCheck() {
return x.data.speciality_id || 0;
}
推荐阅读
- puppeteer - 是否可以使用/在其他工具(如 playright 或 puppeteer)中执行夜间测试测试?
- html - 如何仅使用 HTML/CSS 调整导航栏的大小?
- firebase - W/System (10375):忽略标头 X-Firebase-Locale,因为它的值为 null
- javascript - 如何清除 ReactJS 中的受控输入?
- css - ReactDOM.createPortal() 在 next.js-typescript 中创建额外的空白 div
- typescript - 我的返回类型是对象数组的形式,但我无法映射数组以获取值
- rust - 解决 Rust 字符串格式化程序忽略某些 unicode 字符串的正确字符串长度
- tinybutstrong - 子块用opentbs创建xlsx?
- python - 在 Etsy 上找不到合适的网页抓取类
- json - 使用 JQ 中更高级别对象的值更新深度嵌套的字段