#angularjs
#angularjs
Вопрос:
У меня есть динамически изменяющийся json, как в приведенных ниже примерах
Пример 1:
"Flower":{
"color": "red"
}
Пример 2:
"Flower":{
"color": "red" ,
"seasonal": "yes"
}
Пример 3:
"Flower":{
"color": "red" ,
"seasonal": {
"seasons":{
"winter": "yes",
"summer" : "no"
}
}
}
и для приведенных выше примеров вывод должен быть следующим
example1 : color:red
example2 :color:red,seasonal:yes
example3: color:red,seasonal.seasons.winter:yes,seasonal.seasons.summer:no
Проблема здесь в том, что я не знаю, что приходит каждый раз, это должен быть выходной формат. Мне нужна какая-то часть логики этого в javascript: (
Комментарии:
1. Если вы действительно понятия не имеете, какой будет структура, вы можете использовать рекурсию.
Ответ №1:
Angular предоставляет такие функции, как isObject и isString, которые сообщат вам, является ли переменная объектом или строкой.
Вы можете выполнить итерацию по свойствам вашего объекта и проверить, является ли свойство объектом или строкой. Если это объект, то вы можете повторно использовать свойства этого объекта, иначе просто распечатайте его. Проверьте ниже.
$scope.iterate = function(object) {
if (!angular.isObject(object))
return object;
var opt = "";
for (var property in object) {
if (object.hasOwnProperty(property)) {
opt = opt property " - " $scope.iterate(object[property]) " ";
}
}
return opt;
}
Вы также можете взглянуть на эту скрипку здесь, у нее есть рабочее решение приведенного выше кода.
Комментарии:
1. Огромное спасибо за практику