У меня есть следующий объект 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
}]

Предполагая, что 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
};
});это чистый 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
Вы можете использовать методы карта и разрушающий для своего требования, вы можете указать, какие свойства вам нужны. Я не увидел в ваших данных земельной собственности.
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
@sang рад это слышать! Если вам нужна дополнительная помощь, дайте мне знать!