如何将一个数组连接到另一个数组,该数组的类型是一个从另一个继承的

时间:2019-03-01 04:39:05

标签: angular typescript

我有一个component.model,它扩展了shoppingItem.model,以实现与购物模型中相同的参数,以便稍后将Ingredients数组连接到我的购物清单array。我尝试了以下代码,但未将其添加到购物清单数组中。

addIngredientsToShoppingList(ingredients:Ingredient[]){
        this.shoppingList.concat(ingredients);
        console.log(this.shoppingList.slice());
        this.shoppingListChanged.emit(this.shoppingList.slice());
    }

这里的成分类型是从shoppingItem.model继承的,我是否必须首先将成分类型转换为shoppingItem类型才能将其连接到我的shoppingList中?或者我该怎么办?

2 个答案:

答案 0 :(得分:0)

合并两个数组:

它使用所有数组进行连接,并映射a(整个数组)的指定单个元素的结果,之后将c用作带有b的项目,并将b [i]用作项目。

var array1 = [{ id: "abdc4051", date: "2017-01-24" }, { id: "abdc4052", date: "2017-01-22" }],
        array2 = [{ id: "abdc4051", name: "ab" }, { id: "abdc4052", name: "abc" }],
        result = [array1, array2].reduce((a, b) => a.map((c, i) => Object.assign({}, c, b[i])));

    console.log(result);

答案 1 :(得分:0)

抱歉,我没有将数组列表分配给购物清单,因此购物清单没有得到更新

this.shoppingList = this.shoppingList.concat(ingredients);

感谢您的帮助