我有5个联系人连接到一家公司,我试图找出那些没有电子邮件的公司,其中包含以下代码。
var mailArray = @All of Email with nulls
var temp = new Array()
for (var i = 0; i < mailArray.length; i++) {
if (mailArray[i].value == null) {
temp.push("null")
}
else {
temp.push("correct")
}
}
temp.join(" ")
现在我只是推动字符串以确保流程正确,但它返回
null null null null null
什么时候应该回来
null correct correct null null
因为第二次和第三次联系都有电子邮件。任何人都可以帮助我或给我一个提示,如何使用@All函数的返回值。
我只想确定你在电子邮件中提到的内容。它是联系人应用中的电子邮件字段,还是称为“电子邮件”的文本字段?如果您使用的是电子邮件字段,那么[i]索引处的值实际上是另一个对象,而不仅仅是一个字符串。虽然你只是检查现有的东西并不重要,但我个人想知道哪些联系人在输出中有电子邮件。
如果它只是一个文本字段,那么条件语句就会出现问题。它应该是===
而不是==
,但我个人只是将其重写为!mailArray[i]
。
我建议您将输出更改为可降低性的降价表。这是我最终得到的代码:
var mailArray = @All of Email text with nulls
var nameArray = @All of Name with nulls
var temp = new Array()
var table = "Email | Contact \n --- | --- "
for (var i = 0; i < mailArray.length; i++) {
if (!mailArray[i].value){// !== null) {
temp.push("correct")
temp.push(mailArray[i])
table +="\n"+ mailArray[i] + " | " + nameArray[i]
}
else {
temp.push("null")
table +="\n"+ mailArray[i] + " | " + nameArray[i] + "\n"
temp.push(mailArray[i])
}
}
temp.join(" ")
write = table
这将输出下表(3个联系人,2个带电子邮件,1个没有):