Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将动态数据放在对象数组下?_Javascript_Arrays - Fatal编程技术网

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信息和一个实例