我正在为工作中的服务器编写Mocha测试。
我为客户获得了两个潜在的电话号码,至少将定义其中一个。
var homePhone = result.homePhone;
var altPhone = result.altPhone;
我想使用下划线的_.sample函数随机选择其中之一。但是,其中之一可能不确定。
所以我当时想的是:
//伪代码
var phone = _.sample([homephone || (doNothing), altphone || (doNothing)]);
_.sample函数如下所示:
http://underscorejs.org/#sample
当然,问题是没有我知道的有条件地向数组添加内容的速记语法。
我想要做的详细方法是:
var phoneArray = [];
if(homePhone){
phoneArray.push(homePhone);
}
if(altPhone){
phoneArray.push(homePhone);
}
var phoneSelection = _.sample(phoneArray);
有没有更优雅的方式在JavaScript中执行此操作?
最佳答案
由于您已经在使用下划线,因此建议您使用compact
:
var phone = _.sample(_.compact([homephone, altphone]));
这基本上是dave答案的简化版本,因为
compact
实际上是作为function(array) { return _.filter(array, _.identity); }
实现的。关于javascript - JavaScript:有条件地向数组添加内容的简写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32215178/