Javascript 如何将动态数据放在对象数组下?
这是我获取数据的方式:Javascript 如何将动态数据放在对象数组下?,javascript,arrays,Javascript,Arrays,这是我获取数据的方式: const dataSaved = [{ count: 52, deliveryAmount: 0, discountAmount: 7, guests: 2, refundedAmount: 9, serviceChargeAmount: 4, storeId: "aslkasad", subtotal: 2, taxAmount: 4, total: 3 }, { count: 52, deliver
const dataSaved = [{
count: 52,
deliveryAmount: 0,
discountAmount: 7,
guests: 2,
refundedAmount: 9,
serviceChargeAmount: 4,
storeId: "aslkasad",
subtotal: 2,
taxAmount: 4,
total: 3
}, {
count: 52,
deliveryAmount: 0,
discountAmount: 7,
guests: 2,
refundedAmount: 9,
serviceChargeAmount: 4,
storeId: "ldfgfgdf",
subtotal: 2,
taxAmount: 4,
total: 3
}]
所以基本上我已经做了一个方法,在这个方法中,我过滤了一系列的对象,只需要取出我需要的字段:
getDataParsed(dataSaved, storeFieldRequired) {
const barData = [];
for (const store of dataSaved) {
barData.push({
data: [store.storeFieldRequired],
label: store.storeId
});
}
return barData;
}
当我想要获取数组的特定字段时,我的[store.storeFieldRequired]会带来未定义字段。
如何解决此问题?使用括号-[]符号访问变量。示例=>数据:[store[storeFieldRequired]]
getDataParsed(storeData, storeFieldRequired) {
const barData = [];
for (const store of storeData) {
barData.push({
data: [store[storeFieldRequired]], // change this line from data: [store.storeFieldRequired] to data: [store[storeFieldRequired]]
label: store.storeId
});
}
return barData;
}
需要使用
store[storeFieldRequired]
而不是使用store.storeFieldRequired
。它们有不同的含义
store.storeFieldRequired
表示获取storeFieldRequired
键在store
对象上的值
store[storeFieldRequired]
表示获取storeFieldRequired
对象上变量值键的值
const dataSaved=[{
计数:52,
发货金额:0,
折扣额:7,
嘉宾:2,,
发还金额:9,,
服务收费金额:4,
storeId:“aslkasad”,
小计:2,
税额:4,
总数:3
}, {
计数:52,
发货金额:0,
折扣额:7,
嘉宾:2,,
发还金额:9,,
服务收费金额:4,
storeId:“ldfgdf”,
小计:2,
税额:4,
总数:3
}];
函数getDataParsed(dataSaved,storeFieldRequired){
常数barData=[];
用于(存储数据的常量存储){
巴达塔推({
数据:[存储区[storeFieldRequired]],
标签:store.storeId
});
}
返回barData;
}
log(getDataParsed(dataSaved,'count'))
Change[store.storeFieldRequired]=>[store[storeFieldRequired]]嘿,我想你需要像这样使用方括号表示法store[storeFieldRequired]
,否则它实际上会试图找到值storeFieldRequired
(不是参数的值,而是实际名称)在store
内部。您可以使用从对象中动态检索属性值,该对象接受属性名称的字符串,例如const o={foo:'my value'};console.log(o['foo']);/'我的值“
这是否回答了您的问题?真的但是真的很有用!!!感谢您使用arrya信息和一个实例