У меня есть объект, который я пытаюсь обработать в jQuery, если детали содержат текст. Обыскал все вокруг, но ничего не работает, например, это не работает:
if (typeof data.details[0].text !== "undefined") {JScode}
Формат 1 (json):
data = {kod: 4007, text: "Test.", details: []}
Формат 2 (json):
data = {kod: 9004, text: "Test.", details: [{code: 9999, text: "Error"}]}
details - это объект jQuery? Если так, то это должен быть if (details.text()).
Гм, если детали могут быть пустым массивом или нет, я бы сделал эту проверку: data.details.length !== 0

Попробуйте использовать .length:
if (details[0].text.length > O) { it should exist }
Хотя этот код может ответить на вопрос, предоставляя дополнительный контекст относительно как и Зачем, он решает проблему, что улучшит долгосрочную ценность ответа.
Вы должны проверить, есть ли details[0], прежде чем вы сможете проверить, что details[0].text не определен.
Вот несколько фрагментов:
let obj = {kod: 4007, text: "Test.", details: []}
if (typeof obj.details[0] !== "undefined" && typeof obj.details[0].text !== "undefined") {
console.info("Defined");
} else {
console.info("Undefined");
}let obj = {kod: 9004, text: "Test.", details: [{code: 9999, text: "Error"}]}
if (typeof obj.details[0] !== "undefined" && typeof obj.details[0].text !== "undefined") {
console.info("Defined");
} else {
console.info("Undefined");
}Это можно значительно сократить: if (obj.details.length && obj.details[0].text)
Имя объекта -
details, верно? Вы пробовали details.text? А details.details.text?