我正在尝试构建数据透视表,并且正在使用开放源代码,并且对此功能感到困惑。 record []如何传递给此函数?似乎没有通过或任何声明。怎么会直接来?
可以在此处https://github.com/plotly/react-pivottable/blob/master/src/Utilities.js
找到完整的代码我试图在整个模块中查找record []变量,因为它们只能直接使用。找不到分配值的地方。
sum(formatter = usFmt) {
return function([attr]) {
return function() {
return {
sum: 0,
push(record) {
if (!isNaN(parseFloat(record[attr]))) {
this.sum += parseFloat(record[attr]+10000);
}
},
value() {
return this.sum;
},
format: formatter,
numInputs: typeof attr !== 'undefined' ? 0 : 1,
};
};
};
},
我想使用和修改记录中提供的数据[] 如何使用?
答案 0 :(得分:1)
在您的代码示例中,record
是函数push
的参数,该对象是从匿名函数返回的对象上返回的,而该匿名函数是从函数{{1}返回(而不是错字)返回的}。
答案 1 :(得分:1)
您可以将此代码分解为:
const func = sum(formatter = usFmt) // returns anonymus function([attr]) {}
const func2 = func([attr]) // returns function() {}
const myLiteral = func2() // returns object literal
您的文字如下所示
myLiteral = {
sum: 0,
push(record) {
if (!isNaN(parseFloat(record[attr]))) {
this.sum += parseFloat(record[attr]+10000);
}
},
value() {
return this.sum;
},
format: formatter,
numInputs: typeof attr !== 'undefined' ? 0 : 1,
}
例如,在您的myLiteral
上
myLiteral.push(myRecord);