[英]How to prevent adding empty value to the array?
我有一個腳本,該腳本將拋出用戶帳戶並將現場手機的價值推向陣列。 但是,當手機字段為空時,如何防止將一個空值壓入數組?
所以相反,這樣的事情: '123,,,123,123,,123,,123'
我想達到這個目標: [123,123,123,123,123]
。
這是檢查value是否為空的代碼的主要部分:
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);
}
另外,您還需要更改||
到&&
的。
而作為djechlin指出 ,你不檢查null
夠早; 我已將其移至上述檢查的頂部。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.