@zeni1agent

Как сохранить в переменную путь к содержимому ассоциируемого массива(объекта)?

у меня есть вот такой массив
var test_array = {
"Покупки":{
  "Машины":{
    "Автомобиль":{
      "id1":   "00",
	  "id2":   "01" 
    },
    "Техника":{
      "id3":   "02",
	  "id4":   "03" 
    }
  },
  "Органика":{
    "Цветы":{
      "id5":   "04",
	  "id6":   "05" 
    },
    "Грибы":{
      "id7":   "06",
	  "id8":   "07" 
    }
  }
}
};

И я бы хотел хранить и обновлять путь к каждому элементу
var yy =  '["Покупки"]';
var yy2 =  yy+'["Машины"]';
Object.keys(test_array+yy2).forEach(function(key, id) {
console.log('id: '+id+', key: '+ key);
});

Есть у кого идеи как это сделать?
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08 Куратор тега JavaScript
Что-то мне подсказывает, что ты не с того конца подходить к организации данных. Ты их плохо сформировал и теперь ломаешь логову над тем, как это чудо обработать. Допустим это у тебя список покупок, так вот пусть это и будет списком (массивом), в котором каждое звено это некий список товаров из некой категории товаров. Тем самым ты получишь удобную конструкцию, по которой будет удобно итеррировать, будет удобно фильтровать, удалять, добавлять, изменять. При условии, что у тебя все завязано на категориях.

const cart = [
  {
    category: "Машины",
    subCategory: "Автомобиль",
    items: [0, 1],
  },
  {
    category: "машины",
    subCategory: "Техника",
    items: [2, 3],
  },
  {
    category: "Органика",
    subCategory: "Цветы",
    items: [4, 5],
  },
  {
    category: "Грибы",
    subCategory: "Автомобиль",
    items: [6, 7],
  },
];


Ну, а чтоб совсем все хорошо было и независимо, то вот:
const cart = [
  {
  	id: 0,
    category: "Машины",
    subCategory: "Автомобиль",
  },
  {
  	id: 1,
    category: "Машины",
    subCategory: "Автомобиль",
  },
  {
  	id: 2,
    category: "Машины",
    subCategory: "Техника",
  },
  {
  	id: 3,
    category: "Машины",
    subCategory: "Техника",
  },
  {
  	id: 4,
    category: "Органика",
    subCategory: "Цветы",
  },
  {
  	id: 5,
    category: "Органика",
    subCategory: "Цветы",
  },
  {
  	id: 6,
    category: "Органика",
    subCategory: "Грибы",
  },
  {
  	id: 7,
    category: "Органика",
    subCategory: "Грибы",
  },
];
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы