@Ibishka

Как одной строчкой кода вытащить...?

Как одной строчкой кода вытащить 123?
var myCrazyObject = { "name": "Нелепый объект",
"some array": [7, 9, { purpose: "путаница", number: 123 }, 3.3], "random animal": "Банановая акула"
};
  • Вопрос задан
  • 1608 просмотров
Решения вопроса 1
zendor
@zendor
myCrazyObject['some array'][2].number;

Или более универсальный вариант:
const traverse = (path, obj) => path.split('.').every(k => obj[k] && (obj = obj[k])) ? obj : null;
traverse('some array.2.number', myCrazyObject); //123
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
john36allTa
@john36allTa
alien glow of a dirty mind
Ещё, как вариант:
var myCrazyObject = { "name": "Нелепый объект",
"some array": [7, 9,"не понятно сколько тут данных вообще может быть", { purpose: "путаница", number: 123 }, 3.3], "random animal": "Банановая акула"
};

let x = myCrazyObject['some array'].filter( f => Object.prototype.toString.call(f) === "[object Object]" && 'number' in f)[0].number;

Но есть вероятность ошибки если в массиве не найдётся f с типом Object и свойством number.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы