使用键值将项目推送到typescrip中的数组

时间:2017-02-24 14:30:43

标签: arrays angular typescript

我想将数组推送到另一个数组,但结果会产生错误的结果

let pusheditems:any[]  = [];
pusheditems.push(this.yesvalue);
pusheditems.push(this.selectedtruck);

稍后我console.log(pusheditems)

我得到一个类型

的数组
array(0->yes array, 1->select truck array)

我们正在寻找的是将0的索引值更改为yes,truck

等字符串

所以我希望得到

array(yes->yes array, truck->select truck array)

我也试过

pusheditems.push({yes:this.yesvalue});  //adding yes
pusheditems.push({truck:this.selectedtruck}); //adding truck

但这不起作用

的值
this.yesvalues and this.selectedtruck are also arrays

我还需要进一步添加

2 个答案:

答案 0 :(得分:7)

在Typescript中,数组只能包含类型为number的键。您需要使用Dictionary对象,例如:

    let pusheditems: { [id: string]: any; } = {};    // dictionary with key of string, and values of type any
    pusheditems[this.yesvalue] = this.selectedtruck; // add item to dictionary

答案 1 :(得分:6)

你想要实现的是创建对象,而不是数组。

你可以这样做:

let pusheditems = {};
pusheditems[this.yesvalue] = this.selectedtruck;