javascript - Hvordan fjerne egenskaper fra et objektarray?
Jeg prøver å fjerne en egenskap fra et objektarray.
export class class1 {
prop1: string;
prop2: string;
prop3: string;
}
export class class2 {
myprop = [
{ prop1:'A', prop2:"1", prop3:"descr1" },
{ prop1:'B', prop2:"2", prop3:"descr2" },
{ prop1:'C', prop2:"3", prop3:"descr3" },
];
get(): class1[] {
return this.myprop ;
}
add(value: class1): void {
this.myprop.push(value);
}
}
var var1 = class2.get();
var var2 =
Jeg vil at var2 skal inneholde noe som dette.
[
{ prop1:'A', prop3:"descr1" },
{ prop1:'B', prop3:"descr2" },
{ prop1:'C', prop3:"descr3" },
];
Finnes det en måte å konvertere/kaste var1 til det ovenfor? Med andre ord, jeg vil gjerne fjerne prop2 fra var1 objekt-array og tilordne det til var2. Hvordan kan jeg gjøre det?
Svar #1
Dette virker som et flott tidspunkt å bruke .map()
var var1 = class2.get();
var var2 = var1.map(obj => ({prop1: obj.prop1, prop3: obj.prop3}));
Kort, søt, og gjør det du vil.
MDN-dokumentasjon for .map()
Svar #2
Du kan slette objektets egenskap slik, f.eks.
var myprop = [
{prop1: 'A', prop2: "1", prop3: "descr1"},
{prop1: 'B', prop2: "2", prop3: "descr2"},
{prop1: 'C', prop2: "3", prop3: "descr3"},
];
myprop = myprop.filter(function (props) {
delete props.prop2;
return true;
});
console.log(myprop);
