如何防止向数组添加空值
How to prevent adding empty value to the array?
>我有一个脚本,它将抛出用户帐户并将现场手机的值推入数组。但是,当手机字段为空时,如何防止将空值推入数组?
所以相反,像这样的东西:'123,,,123,123,,123,,123'
我想实现这个:[123,123,123,123,123]
.
这是代码的主要部分,用于检查值是否为空:
if (!smsUsers.user.mobile_phone.nil() ||
smsUsers.user.mobile_phone != null ||
smsUsers.user.mobile_phone != '' ||
smsUsers.user.mobile_phone.length != 0 ||
smsUsers.user.mobile_phone ||
smsUsers.user.mobile_phone.toString().toLowerCase() != 'false'){
notSccUserPhone.push(smsUsers.user.mobile_phone);
}
这就是我的整个代码现在的样子:
function getMobileNumber(param) {
var sccUserPhone = [];
var notSccUserPhone = [];
var smsGroup = new CheckServices().getServiceParms("Major Incident", current, true);
if(smsGroup.next()){
var smsGroupNumber = smsGroup.u_parm_2;
gs.log('Group of sms targets ' + smsGroupNumber);
var smsUsers = new GlideRecord("sys_user_grmember");
smsUsers.addQuery("group.name", smsGroupNumber);
smsUsers.query();
if(param == 'true'){
while (smsUsers.next()) {
if(smsUsers.user.email.indexOf('scc') == -1){
if (!smsUsers.user.mobile_phone.nil() || smsUsers.user.mobile_phone != null || smsUsers.user.mobile_phone != '' || smsUsers.user.mobile_phone.length != 0 || smsUsers.user.mobile_phone || smsUsers.user.mobile_phone.toString().toLowerCase() != 'false'){
notSccUserPhone.push(smsUsers.user.mobile_phone);
}
}
}
gs.log('Not SCC mobile namber array is ' + notSccUserPhone);
template.print(notSccUserPhone);
} else if(param == 'false'){
while (smsUsers.next()) {
if(smsUsers.user.email.indexOf('scc') != -1){
if (!smsUsers.user.mobile_phone.nil() || smsUsers.user.mobile_phone != null || smsUsers.user.mobile_phone != '' || smsUsers.user.mobile_phone.length != 0 || smsUsers.user.mobile_phone || smsUsers.user.mobile_phone.toString().toLowerCase() != 'false'){
sccUserPhone.push(smsUsers.user.mobile_phone);
}
}
}
gs.log('SCC mobile namber array is ' + sccUserPhone);
template.print(sccUserPhone);
}
}
}
您可以尝试像这样使用正则表达式:
if (smsUsers.user.mobile_phone != null &&
smsUsers.user.mobile_phone.match(/'S/) &&
smsUsers.user.mobile_phone.toString().toLowerCase() != 'false')
{
notSccUserPhone.push(smsUsers.user.mobile_phone);
}
此外,您还需要将||
更改为&&
。
正如杰奇林指出的那样,你没有及早检查null
;我已将其移至上述检查的顶部。
相关文章:
- ZeroClipboard-在复制之前添加到值
- 映射数组ES6时考虑空值
- jQuery-通过AJAX调用动态添加具有值的表单元格
- Model中的Typeahead返回空值以形成输入字段
- JavaScript-HTML表单到JSON(空值)和格式
- 如何在结果中添加下划线但不添加虚假值的情况下进行映射
- webkit输入类型=在错误日期发送空值的日期
- 在xsl中为body onload添加一个值
- 如何使用jQuery来添加分段的表单字段,并在添加不同值时进行更新
- 为什么数据列表选项的id返回空值
- 根据单选按钮值添加到值
- 如何使用敲除映射将空值映射到空的可观察数组
- 是否可以将方法添加到空值的原型中
- 删除添加空值的 Javascript 对象项
- 如何防止向数组添加空值
- jQuery向空对象添加键值对
- 添加新输入后输入的非空值
- Java Script -添加空值到数组,如果元素不存在于特定索引
- 当添加替换时,带有多个收件人的Node.js sendgrid得到空值
- 为什么不能将属性添加到空值中?