2017-01-31 3 views
0

Вот моя проблема, я хотел бы создать список сезонов с несколькими эпизодами внутри таким образом:объекта в объект Javascript

saisons[1] = [{episode: 1, file: "/"}, {episode: 2, file: "/"}, {episode: 3, file: "/"}]; 

saisons[2] = [{episode: 1, file: "/"}, {episode: 2, file: "/"}, {episode: 3, file: "/"}]; 

и доступны путем Saisons [1] [2] .file для 2-й серии сезона 1.

я начал делать это, но это не работает ...

var saisons = []; 

for(var i = 1; i <= 4; i++){ 
     var saison = 1; 
    var select = { 
     saison:saison, 
     episode: i 
    }; 
    if(typeof saisons[saison] === "undefined"){ 
     saisons[saison] = select; 
    }else{ 
     var selects = []; 
     selects.push(saisons[saison][0]); 
     selects.push(saisons[saison][1]); 
     selects.push(select); 
     saisons[saison] = selects; 
    } 
} 

console.log(saisons); 

ли у вас есть решение или приводит к моим проблемам?

+0

Массивы 0 индексированные , Второй элемент массива находится в индексе 1. – 4castle

+0

Знаете ли вы, что добавление элементов в массив с использованием JS выполняется с помощью 'array.push (newItem)'? –

+0

Можете ли вы показать результат, который вы получаете? – Ibu

ответ

0

Если вы хотите [1] быть 1ˢᵗ, вам нужно сдвинуть массив, игнорируя 1ˢᵗ элемент (пусть назначить null к 1ˢᵗ пункта)

// Prepare your seasons' array with predefined size . 
 
const saisons = Array.from({length: 5}, (v, k) => null); 
 

 
// add seasons : 
 

 
saisons[1] = [null ,{episode: 1, file: "/"}, {episode: 2, file: "/"}, {episode: 3, file: "/"}]; 
 

 
saisons[2] = [null, {episode: 1, file: "/"}, {episode: 2, file: "/"}, {episode: 3, file: "/"}]; 
 

 

 
//Print the 2ⁿᵈ episode of th 1ˢᵗ season : 
 

 
console.log(
 
    saisons[1][2].file 
 
)

+0

О, спасибо большое! Я не очень понимаю этот код, но я постараюсь попробовать. Последний вопрос, как добавить эпизоды один за другим с циклом в 1-м сезоне, например? –

Смежные вопросы