Как получить значения из массива объектов json и добавить в другой массив в angular

У меня есть следующий объект json:

вар обр =[{ 0: М: "светодиод" идентификатор: 1
mtype: "ПАКЕТ КИОСКА"
part_fees: 200
tb_bid_upins: 1
tech_bid_flag: 0
tot_media: 0
тип: "Дорожная растяжка"
вверху: "AMCADVT1415C0123"
upin_id: "2"
}, { 1:М: "Светодиод"
идентификатор: 1
mtype: "ПАКЕТ КИОСКА"
part_fees: 200
tb_bid_upins: 1
tech_bid_flag: 0
tot_media: 0
тип: "Дорожная растяжка"
вверху: "AMCADVT1415C0123"
upin_id: "2" }]

Теперь у него два значения, но оно может иметь несколько значений, потому что оно извлекается из базы данных. Из этого json я хочу выбрать значения с ключом upin,mtype,land и добавить в другой массив.

Я пробовал следовать

for(let item of data){
    // this.console.info(item)
     this.upins = item.upin;
     this.console.info(this.upins);
    }
this.console.info(this.upins);```

It shows last index value

I want result as follows

var arr = [{
upins: abc,
mtyp:xyz,
land:123
},{
upins:123,
mtype:pqr,
land:555
}]
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
2
0
2 545
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Предполагая, что data как array, вы должны вставить данные в новый пустой массив.

const arr = [];

// extract upin, mtype, land from the original array
for (let item of data) {
  arr.push({
    upin: item.upin,
    mtype: item.mtype,
    land: item.land
  });
}

// OR

const arr = data.map((item) => {
  return {
    upin: item.upin,
    mtype: item.mtype,
    land: item.land
  };
});

@sang рад это слышать! Если вам нужна дополнительная помощь, дайте мне знать!

Sampgun 27.06.2019 09:15

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

const arr2 = this.arr.map(el => ({upins: el.upins, mtyp: el.mtyp, land: el.land}));

Первый ответ правильный. Я только хочу добавить, что вы можете использовать метод карты для той же цели. Мне так удобнее:

const newData = data.map(x => {
    return {
        upin: x.upin,
        mtype: x.mtype,
        land: x.land
    };
});

Карта проверит каждый элемент в массиве и вернет новый объект на основе свойств элемента.

Спасибо за ваш ответ .. это тоже правильно, но я использовал ответ @sampgun

sangRam 26.06.2019 16:33

Вы можете использовать методы карта и разрушающий для своего требования, вы можете указать, какие свойства вам нужны. Я не увидел в ваших данных земельной собственности.

const result = arr.map(({ upin, mtype }) => ({
  upin, mtype
}));

var arr =[{ id: 1,
mtype: "KIOSK PACKAGE",
part_fees: 200,
tb_bid_upins: 1,
tech_bid_flag: 0,
tot_media: 0,
type: "Road Stretch",
upin: "AMCADVT1415C0123",
upin_id: "2"
}, { 
id: 1,
mtype: "KIOSK PACKAGE",
part_fees: 200,
tb_bid_upins: 1,
tech_bid_flag: 0,
tot_media: 0,
type: "Road Stretch",
upin: "AMCADVT1415C0123",
upin_id: "2" }]

const result = arr.map(({ upin, mtype }) => ({
  upin, mtype
}));

console.info(result);

Спасибо за ваш ответ .. это тоже правильно, но я использовал ответ @sampgun

sangRam 26.06.2019 16:33

Другие вопросы по теме