在一条语句中获取多个未定义对象中的初始化对象
Get initialized object among many undefined ones in one statment
我有三个对象(ob1, ob2, ob3),其中只有一个是定义的,我不知道是哪一个。我想将定义对象的值存储在一个语句中的变量中,即不使用if和else。如下所示
var object = ob1 || ob2 ||ob3
你现在的方法有什么问题?这是正确的逻辑:
var obj1 = null;
var obj2 = 'hello';
var obj3 = null;
var obj4 = obj1 || obj2 || obj3;
console.log(obj4);
// hello
编辑后:我不相信有任何快速和简单的方法来获得第一个undefined
值,如null合并检查,但这里有一个"一行"的尝试:
//var obj1 = undefined;
var obj2 = 'hello';
//var obj3 = undefined;
var obj4 =
(typeof obj1 === "undefined" ? null: obj1) ||
(typeof obj2 === "undefined" ? null: obj2) ||
(typeof obj3 === "undefined" ? null: obj3);
console.log(obj4);
// hello
使用相同的逻辑,实际上只是将undefined
转换为null
,以仍然利用单行合并。
相关文章:
- 在CoffeeScript文件上运行Jasmine测试时,对象未定义错误
- JavaScript 对象 - 未定义的数字键文字
- 为什么页面方法对象未定义
- JavaScript对象表示嵌套对象未定义
- Javascript类构造的对象未定义
- JQuery TypeError:对象未定义(length=object.length,)
- 用于从许多带有“for”循环的URL中获取HTML信息的X射线使对象未定义
- 如何避免收到一条消息,指出对象未定义
- JavaScript 对象未定义
- JavaScript 对象未定义它是否在几年前工作
- 揭示模块模式:对象未定义
- 对象未定义/HTML使用jQuery输出
- 为什么子 html 对象未定义/空
- 提取 JSON 对象未定义
- 为什么这个带有最简单的构造函数的 javascript 对象未定义
- “对象”未定义日历.js
- 对象未定义到模块中,Nodejs javascript
- javascript对象未定义
- Twilio响应对象未定义,但没有错误
- 为什么"对象未定义”;在这种情况下没有抛出错误