我有一个具有这种结构的项目数组:
[ {price: 10}, {price: 20} ]
我想创建一个新数组,它只是每个原始数组项的产品,例如:
import { Component, OnChanges, Input, EventEmitter, Output } from '@angular/core';
@Component({
selector: 'pm-star',
templateUrl: './star.component.html',
styleUrls: ['./star.component.css']
})
export class StarComponent implements OnChanges {
@Input() rating: number;
starWidth: number;
@Output() ratingClicked: EventEmitter<string> =
new EventEmitter<string>();
ngOnChanges(): void {
this.starWidth = this.rating * 86 / 5;
}
onClick(): void {
this.ratingClicked.emit(`The rating ${this.rating} was clicked!`);
}
}
使用javascript(es6 / 2015很好)
最快的方法是什么?没有循环/地图有没有办法做到这一点?数组中的项目数量将是动态的/我不知道可能有多少项目。
答案 0 :(得分:1)
最简单的方法是将其映射
var originalArray = [{
product: {
price: 10
},
shipping: {}
},
{
product: {
price: 20
},
shipping: {},
}
]
var newArray = originalArray.map(item => item.product);
console.log( newArray )
没有迭代
就没有办法做到这一点