gpt4 book ai didi

javascript - "Syntactic Sugar"用于设置对象属性,如果值为真

转载 作者:行者123 更新时间:2023-11-30 08:27:24 24 4
gpt4 key购买 nike

我不知道这是否存在,但在我的项目中我有很多解析和验证。我以 5-10 多行 if(value) object.value = value 结尾。

我可以走 object.value = value || 的路线(你最喜欢的虚假值) 但是对象有一个虚假值的属性。

即(这不是生产代码,只是为了让您了解我在说什么)

let filter = {}

let thing = ctx.query.thing

thing = Validation.validateThingy(thing)

if(thing) filter.thing = thing

// +50 more param parsing/request body parsing

return DB.find(filter).then(etc...)

有没有人知道更优雅的方法来做这样的事情,而不用做 || 或遍历对象的属性并过滤掉虚假值?

最佳答案

您可以为它使用一个带有对象、键和值的函数。

function setValue(object, key, value) {
if (value) {
object[key] = value;
}
}

// usage
let filter = {};

setValue(filter, 'thing', Validation.validateThingy(ctx.query.thing));

或者您可以将验证部分移到函数内部

function setValue(object, key) {
var value = Validation.validateThingy(ctx.query[key])
if (value) {
object[key] = value;
}
}

// usage
let filter = {};

setValue(filter, 'thing');

关于javascript - "Syntactic Sugar"用于设置对象属性,如果值为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43376424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com