Извлекать данные из вложенного массива - PullRequest
0 голосов
/ 03 сентября 2018

Я хотел бы знать, есть ли способ получить длину из вложенного массива.

Мои данные - это файл JSON, подобный этому:

{
    "data" :[
        "item1" :'',
        "item2" :[{
            "id" :1,
            "text":'text'
        },{
            "id" :2,
            "text" : 'text 
        }] 
    ]
}

Я использую угловой 6 и ngx-restangular. Можно ли получить деталь 2 длины?

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Чтобы расширить ответ от @ AurA

Если вам приходилось работать с допустимым массивом:

[
  [ "item0.0", "item0.1" ],
  [ "item1.0", "item1.1" ]
]

вы можете получить доступ к длине вложенных массивов следующим образом:

let a = [
  ["item0.0", "item0.1"],
  ["item1.0", "item1.1"]
];

let lengthA0 = a[0].length;
let lengthA1 = a[1].length;

console.log("length of a0: ", lengthA0);
console.log("length of a1: ", lengthA1);
0 голосов
/ 03 сентября 2018

Основная проблема в том, что не дает действительный JSON. Действительный JSON для того же будет выглядеть так:

{
    "data": {
        "item1": "",
        "item2": [{
                "id": 1,
                "text": "text"
            },
            {
                "id": 2,
                "text": "text"
            }
        ]
    }
}

Теперь вы можете получить второй размер элемента просто

data["item2"].length

или

data.item2.length
...