Nodejs trim() 不是函数

Nodejs trim() is not a function

我在 运行 时收到此错误,但似乎无法解决。

TypeError: data[key].trim is not a function

功能就是这个

const generateSignature = (data, passPhrase = null) => {
  // Create parameter string
  let pfOutput = "";
  for (let key in data) {
    if (data.hasOwnProperty(key)) {
      if (data[key] !== "") {
        pfOutput += `${key}=${encodeURIComponent(data[key].trim()).replace(
          /%20/g,
          " + "
        )}&`;
      }
    }
  }

  // Remove last ampersand
  let getString = pfOutput.slice(0, -1);
  if (passPhrase !== null) {
    getString += `&passphrase=${encodeURIComponent(passPhrase.trim()).replace(
      /%20/g,
      "+"
    )}`;
  }

  return crypto.createHash("md5").update(getString).digest("hex");
};

我不知道如何解决这个问题

我认为 data[key] 可能不是字符串类型。

试试这个:

if(data[key] !== "")更改为if(typeof data[key] === "string")

trim() 仅适用于字符串。像这样将整数值转换为字符串。其中 x 是整数值,将其包装在 ${x}