我不能直接使用数据的一部分,我必须使用介于两者之间的另一个变量



我真的是编程新手,我的问题真的很不好如果我在浪费你的时间,请原谅我为什么当我在DatatoBarChartJS中间接使用标签(使用"标签"(时,它能起的作用

const DataFromDataBase  = {
label :['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets : [  {datasetName:'Dataset 1', data:[1,3,5,2,5,2,6]},{datasetName:'Dataset 2', data:[4,6,5,2,5,2,6]} ],
}
const label =dataFromDataBase.label;
const color = tinycolor();

const DatatoBarChartJS  = {
label,
datasets : dataFromDataBase.datasets.map((dataset)=>{
return{
label:dataset.datasetName,
data : dataset.data,
backgroundColor:color.toRgbString ,
}     
}
)
}

但当我不直接使用它时,它就不起作用了?

const DataFromDataBase  = {
label :['January', 'February', 'March', 'April', 'May', 'June', 'July'],
datasets : [  {datasetName:'Dataset 1', data:[1,3,5,2,5,2,6]},{datasetName:'Dataset 2', data:[4,6,5,2,5,2,6]} ],
}
const label =dataFromDataBase.label;
const color = tinycolor();

const DatatoBarChartJS  = {
DataFromDataBase.label,
datasets : dataFromDataBase.datasets.map((dataset)=>{
return{
label:dataset.datasetName,
data : dataset.data,
backgroundColor:color.toRgbString ,
}     
}
)
}

问题是问题

使用花括号语法创建对象时,通常需要提供字段的名称及其关联值。

const cat = {
cute: true,
legCount: 4,
sound: 'miaw'
};

取决于什么";Javascript的版本";在使用时,有一种简写语法可以使用:

const cute = true;
const legCount = 4;
const sound = 'miaw';
const cat = {
legCount,
sound,
cute
}

执行此操作时,字段的名称将是变量的名称,字段的值将是变量值。

在您的案例中不能使用该语法的原因是,您引用的不是变量,而是对象中的字段。这有点道理,因为结果会很模糊:

// Would the result be this?
{ DatatoBarChartJS: { label: ['January', 'February', 'March', 'April', 'May', 'June', 'July'] } }
// Or this?
{ 'DatatoBarChartJS.label': ['January', 'February', 'March', 'April', 'May', 'June', 'July'] }
// Or this?
{ label: ['January', 'February', 'March', 'April', 'May', 'June', 'July'] }

您可以在Mozilla的对象初始化文档中找到更多信息

最新更新