获取具有新对象中对象值的特定键

时间:2018-05-19 20:58:00

标签: ecmascript-6

我知道es6 / es7的功能,并尝试使用这些功能实现输出,但它们都没有工作。

我有什么:

<ion-grid> <ion-row class="grid-css" *ngFor="let match of matchitemsToday | async" (click)="showMatchInfo(match)"> <ion-col col-1> <img width="50px" height="25px" src="assets/img/teamsicon/{{match.away_bdg}}.png"> </ion-col> <ion-col class="grid-text"> {{match.away}} </ion-col> <ion-col class="match-time" col-2> <div class="match-time-text">{{match.time}}</div> </ion-col> <ion-col class="grid-text"> {{match.home}} </ion-col> <ion-col col-1> <img width="50px" height="25px" src="assets/img/teamsicon/{{match.home_bdg}}.png"> </ion-col> {{match.da}} </ion-row> </ion-grid>

现在想要一个只有ngOnInit() { this.matchesColToday = this.afs.collection('matches', ref => { return ref.where('day', '==', now) }); this.matchitemsToday = this.matchesColToday.valueChanges(); } 的新对象,即x = { a: 10, b: 20, c: 30, f:56, n:99}

试验1

{a, n}

试验2

{a:10,n:99}

试验3

let y = {a: 0, n: 0};

y = Object.assign({}, y, x);

但是它给出了两个单独的变量值,而不是一个完整的对象

但没有任何结果。

更新

在检查给定asnwer of duplicate link的答案后,如果源数组中不存在或由let {a: 0, n:0 } = x; 取代的值

,则所有属性都会消除

我想保留源数组中不存在的值的键。

这是我的努力,但似乎并不好。另外,我有对象而不是数组

我需要在某处使用{a, n, ...rest} = x; 但不能在哪里使用?

undefined

实际输出

Object.assign()

预期产出:

 (function() {
       const pick = (o, fields) => {
            return fields.reduce((a, x, ca) => {
                if (o.hasOwnProperty(x)) a[x] = o[x];
                return a;
            }, {});
        }
       
     
     let defaultObject = {id: 0, selected: false, other: 'set'};
    
     let sourceArray = {id: '10', name: 'Name', selected: true};
    
     let output = pick(sourceArray, Object.keys(defaultObject)); 
    
      console.log("output", output);
    }());

0 个答案:

没有答案