如何将名为“ record”的变量传递给函数?

时间:2019-04-09 18:36:13

标签: javascript reactjs

我正在尝试构建数据透视表,并且正在使用开放源代码,并且对此功能感到困惑。 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,
        };
      };
    };
  },

我想使用和修改记录中提供的数据[] 如何使用?

2 个答案:

答案 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);