Разбор массива без ключа в nativescript-angular2 - PullRequest
0 голосов
/ 28 сентября 2018

JsonStructure:

{
    "share": [ 
            {      
            "id": "1",
            "name": "Denver",

            "address": [
                "people"
            ],

            "iconUrl": ""            
        },
        {
            "id": "1",
            "name": "Cook",
            "address": [
                "people",
                "student"
            ],
            "iconUrl": ""
        }
       ]
      }

Я хочу проанализировать массив адресов в Nativescript-angular2.Если вы видите адресный массив, внутри которого нет объекта.Так что я не знаю, как разобрать его.

Код:

Код, который я попробовал ниже:

  for (let i = 0; i < response.share.length; i++) {
     let myApp = new Share();
        myApp.address = share[i].address;
  }

Ответы [ 2 ]

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

Используйте метод flat ()

Метод flat () создает новый массив со всеми элементами вложенного массива, рекурсивно объединенными в него до указанной глубины.

 let d=  this.data.share.map((d)=>d.address);
 console.log(d.flat());

Или

Используйте flatMap ()

Метод flatMap () сначала отображает каждый элемент с помощью функции отображения,затем сглаживает результат в новый массив.Она идентична карте, за которой следует квартира глубиной 1, но flatMap часто весьма полезен, поскольку объединение обоих в один метод несколько более эффективно.

this.data.share.flatMap((d)=>d.address)

RefforFlat: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat

RefForFlatMap https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap

Пример: https://stackblitz.com/edit/arrayfalt

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

Попробуйте разобрать свой JSON следующим образом

for(s of response['share']){
   let add = s['address']; // address array of share obj
   add.forEach(address=>{console.log(address)}) // all addresses
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...