Разбор примера про объект

by LuckyCat

JavaScript

var task1 = {
  title: "Создать объект из двух массивов",
  description: "Сделай объект",
  depends: {
    article: [],
    task: [{
        uri: "extend-object",
        strength: 3
      }, {
        uri: "query-string-to-object",
        strength: 6
      }
    ]
  },
  relates: {
    article: [{
      uri: "about-object",
      strength: 10
    }],
    task: [{
      uri: "split-object-into-arrays",
      strength: 5
    }]
  }
};


// get all srtong resources
var dependenciesNames = ['depends', 'relates'];
var strongSrouces = [];

// проходимся по ключам объекта
// в данном случае их всего два. --> 0 1
for (var i = 0; i < dependenciesNames.length; i += 1) {

  // перебираем ключи из объекта
  // depedencySourceType принимает содержимое ключей,
  // которые мы указали в условии задачи
  // в данном случае это: article и task отдельно и в 'depends' и в 'relates'
  for (var depedencySourceType in task1[dependenciesNames[i]]) {
		
    // task1[dependenciesNames[i]][depedencySourceType]        --> считывает содержимое article и task
    // task1[dependenciesNames[i]][depedencySourceType].length --> подсчитывает, сколько содержимого есть у article и task
    //    (1 ключ объекта 'depends')
    //            article --> 0 (потому что пустой: article: [], )
    //            task    --> 2 (uri and strength)
    //    (2 ключ объекта 'relates')
    //            article --> 1 (uri and strength)
    //            task    --> 1 (uri and strength)
    for (var j = 0; j < task1[dependenciesNames[i]][depedencySourceType].length; j += 1) {
      if (task1[dependenciesNames[i]][depedencySourceType][j].strength >= 5) {
        strongSrouces.push(task1[dependenciesNames[i]][depedencySourceType][j]);
      }
    }
  }
}
//console.log(strongSrouces);



var task2 = {
  title: "Создать объект из двух массивов",
  description: "Сделай объект"
};
for (var depedencySourceType in task2) {
//  console.dir(depedencySourceType);
}