Node.js 为什么上传到Lambda时这些字符串不相等?

Node.js 为什么上传到Lambda时这些字符串不相等?,node.js,lambda,Node.js,Lambda,我正在将字符串“references”添加到Lambda函数中。但是,出于某种原因,当我尝试查看变量是否匹配==“references”时,它返回的值为false。我已经记录了不同的值,以确保它不会被操纵。您可以看到cloud watch日志的样子: /*/Update an existing permissions request/*/ import handler from "./libs/handler-lib"; import dynamoDb from "

我正在将字符串“references”添加到Lambda函数中。但是,出于某种原因,当我尝试查看变量是否匹配==“references”时,它返回的值为false。我已经记录了不同的值,以确保它不会被操纵。您可以看到cloud watch日志的样子:

/*/Update an existing permissions request/*/
import handler from "./libs/handler-lib";
import dynamoDb from "./libs/dynamodb-lib";

export const main = handler(async (event, context) => {
    const data = event.body;
    //Set variables for update request depending on input:
    const setVariables = (eventData) => {
        console.log(`Event data equals data: ${data === eventData}\nEvent data: ${eventData}\nData: ${data}\nData equals "references": ${data === "references"}\nEvent Data equals "references": ${eventData === "references"}`);
        var expression;
        var body;
        var array;
        if (eventData === "references") {
            body = { ":referencesRequested": true };
            expression = "SET referencesRequested = :referencesRequested";
            array = [expression, body];
        } else if (eventData === "repos") {
            body = { ":hiddenreposRequested": true };
            expression = "SET hiddenreposRequested = :hiddenreposRequested";
            array = [expression, body];
        } else {
            body = { ":resumeRequested": true };
            expression = "SET resumeRequested = :resumeRequested";
            array = [expression, body];
        }
        return array;
    };

    const expression = setVariables(data)[0];
    const body = setVariables(data)[1];

    const params = {
        TableName: process.env.tableName,
        Key: {
            userId: event.requestContext.identity.cognitoIdentityId,
            permissionsId: event.pathParameters.id
        },
        UpdateExpression: expression,
        ExpressionAttributeValues: body,
        ReturnValues: "ALL_NEW"
    };

    await dynamoDb.update(params);

    return { status: true };
});

检查
数据的类型(它可能不是字符串),以及它的
长度(可能有空白字符?)谢谢@CertainPerformance耶类型是字符串(我选中了),我使用了修剪方法来确保没有空白。仍然不平等。我会继续检查长度,以防万一。奇怪,也许其中一个字符是不同的
[…data].forEach((char,i)=>{if(char.charCodeAt()!==eventData.charCodeAt(i)){/*log char codes and debug
我刚刚检查了长度,数据和事件数据是12的字符串长度,而“references”是10。几乎就像是在计算引号一样。