![](/img/trans.png)
[英]Push object data into an array based on another object data value in javascript
[英]Push x amount of data to object based on value
我有一個函數,它計算一些東西並返回值。
var c = containsObject("index", x);
假設C = 2;
然后我希望它做這樣的事情:
data.push({
"date": getdate.toString(),
"value": x["Index"],
"value2": x["Index2"]
})
如果C = 8,則類似:
data.push({
"date": getdate.toString(),
"value": x["Index"],
"value2": x["Index2"],
"value3": x["Index3"],
"value4": x["Index4"],
"value5": x["Index5"],
"value6": x["Index6"],
"value7": x["Index7"],
"value8": x["Index8"]
})
x
是我從ajax調用中獲得的數據數組
最好的方式是什么?
對屬性使用string-key
語法:
var _object={};
for(let i = 0;i<C;i++){
let Cstr=C.toString();
_object["value"+Cstr]=x["index"+Cstr];
}
data.push(_object);
您可以使用括號符號來執行此操作。
const c = 3;
const object = {};
for (let i = 1; i <= c; i++) {
object['value' + i] = x['index' + i];
}
由於已使用TypeScript對此進行了標記,請嘗試使用索引簽名來注釋類型,以擺脫編譯時錯誤。
嘗試這樣的事情:
let data: Array<any>;
let c = 8;
let x: {
[key: string]: string
};
let obj: {
[key: string]: string
} = {
"date": getdate.toString()
};
for (let i = 0; i < c; i++) {
obj["value" + c.toString()] = x["index" + c.toString()];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.