#podio
#podio
Вопрос:
У меня есть 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 of .
Ответ №1:
Я просто хочу убедиться, на что вы ссылаетесь в электронных письмах. Это поле электронной почты в приложении «Контакты» или это текстовое поле, которое называется «электронная почта»? Если вы используете поле электронной почты, то значение в вашем индексе [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 с электронными письмами и один без):