我想将数组推送到另一个数组,但结果会产生错误的结果
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
我还需要进一步添加
答案 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;