gpt4 book ai didi

javascript - Lodash,检查对象是否存在以及属性是否存在且为 true

转载 作者:行者123 更新时间:2023-11-28 12:16:43 33 4
gpt4 key购买 nike

早上好。我需要帮助检查对象是否存在以及某些属性的值为 true。例如:

validations={
"DSP_INDICADOR": {
"required": true
},
"EMPRESA": {
"required": true
},
.....
"NOME_AVAL": {
"required": false,
"notEqualToField": "NOME"
}
}

然后检查required:true

提前致谢

最佳答案

简单地使用怎么样

_.get(validations, "EMPRESA.required");在洛达什

通过这种方式,我们可以获取任意深度,并且不需要保证连续 &&一次又一次,每个子级别首先存在直接父级别。

您可以使用这个_.get以更具编程性的方式使用默认值(如果路径不存在)和 arraykeys以正确的顺序进行查找。因此,您可以动态地传递键数组来获取值,并且不需要为 . 连接的字符串创建字符串。喜欢 "EMPRESA.required" (如果您输入的 N 深度查找路径不是 string )

这是一个例子:

let obj = {a1: {a2: {a3: {a4: {a5: {value: 101}}}}}};

let path1 = ['a1', 'a2', 'a3', 'a4', 'a5', 'value'], //valid
path2 = ['a1', 'a2', 'a3', 'a4'], //valid
path3 = ['a1', 'a3', 'a2', 'x', 'y', 'z']; //invalid

console.log(`Lookup for ${path1.join('->')}: `, _.get(obj, path1));
console.log(`Lookup for ${path2.join('->')}: `, _.get(obj, path2));
console.log(`Lookup for ${path3.join('->')}: `, _.get(obj, path3));
console.log(`Lookup for ${path3.join('->')} with default Value: `, _.get(obj, path3, 404));
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>

关于javascript - Lodash,检查对象是否存在以及属性是否存在且为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47885165/

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