Вопрос массива в машинописи Angular - PullRequest
0 голосов
/ 15 апреля 2020

Я кодирую приложение angular и сталкиваюсь с проблемой сохранения данных объекта API в массив строк.

JSON Формат:

{
     "data1":{
     "data11":"data11d",
     "statename":"West Bengal"
     },
     "data2":{
         "data21":"data21d",
     "statename":"Assam"
     }
 }

I Я использую '.values' с индексом, чтобы извлечь внутреннее значение statename первого ключа data1 через код и сохраняю его в массиве строк с индексом 0 с кодом

this.myObj=Object.values(this.apiJson)[0]; //Obj data is coming which is debugged and checked
this.myStringArray[0]=this.myObj["statename"];

Но значение не входит в массив, но когда я использую другой способ объявления массива строк, он работает

this.myObj=Object.values(this.apiJson)[0]; //Obj data is coming which is debugged and checked
this.myStringArray=[this.myObj["statename"]];

. Выходные данные должны быть в Западной Бенгалии, которая идет вторым способом кодирования, но не первым. Может быть, я что-то упускаю? Код представляет собой файл машинописного текста с именем dashboard.component.ts

Но второй способ Нельзя использовать в al oop для создания большого массива строк

В любом случае спасибо Сообщество мне очень помогло. Пожалуйста, укажите, если потребуется дополнительная информация, я бы также предоставил это.

1 Ответ

0 голосов
/ 15 апреля 2020

Я предполагаю, что myStringArray - это пустой массив, и первый способ заключается не в том, как добавлять элементы в массив. это то, как вы заменяете элемент в массиве по уже существующему индексу ... если вы хотите добавить элемент в конец, сделайте следующее:

this.myStringArray.push(this.myObj["statename"]);

, если вы хотите добавить его в начало используйте shift

this.myStringArray.shift(this.myObj["statename"]);

второй способ работает, потому что вы просто создаете новый массив с 1 элементом.

...