Разбор примера про объект
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);
}