Javascript 有没有更好的方法来编写if(argList[foo]==“bar”=“argList==“bar”)呢?
我有一个Javascript 有没有更好的方法来编写if(argList[foo]==“bar”=“argList==“bar”)呢?,javascript,algorithm,object,if-statement,Javascript,Algorithm,Object,If Statement,我有一个if语句: if(argList[“foo”]=“bar”| | argList==“bar”){ //一些代码 }要确保属性存在,最好将助手用作: 打字稿埃尔维斯案 Lodash\uuu.get()方法 if(u.get(argList,“foo”)==“bar”| | argList==“bar”){ //一些代码 } 只有当您尝试访问argList[“foo”][“bar”]这样的更深层次时,问题才是关键的 JSON.stringify 另一个选项是字符串化对象并在此处查找值
if
语句:
if(argList[“foo”]=“bar”| | argList==“bar”){
//一些代码
}
要确保属性存在,最好将助手用作:
- 打字稿埃尔维斯案
- Lodash
方法\uuu.get()
if(u.get(argList,“foo”)==“bar”| | argList==“bar”){ //一些代码 }
const argListObj={foo:“bar”};
const argListString=“bar”;
log(JSON.stringify(argListObj).includes(“bar”);
log(JSON.stringify(argListString).includes(“bar”);
//Console日志true,true
所以argList
可以是数组、对象或字符串?@Lain你是指对象吗?@Kub Network:if的第二个如果始终是对象,它有什么意义?只要你不实现验证为“bar”的toString,它就永远不会是真的。@Kub Network:如果你这么说的话..我是说rgList始终是一个对象,因此我看不到第二个if
的用法。但这就是我。我同意lain的观点。即使在新的示例中,也只使用一个函数传递字符串并检查它,另一个函数传递对象并检查属性。不过,不要混合使用这些函数。它现在对您来说可能看起来既新奇又酷,但对您来说不是这样必须在一年后维护该代码的任何人。如果不是列表,也不要使用parametername argList。因为如果变量的嵌套是属性的属性,则代码将以“Uncaught TypeError:无法读取未定义的属性”xxx的形式崩溃
JSON.stringify(argListObj).includes("bar")