错误类型错误:无法读取 null 的属性“替换”

Hos*_*oss 3 typescript angular

尽管我的应用程序运行正常,但我收到类型错误。

“错误类型错误:无法读取 null 的属性‘替换’”

不明白如何解决这个问题。任何人都可以给我一些想法或帮助我理解为什么会发生这种情况吗? 在此输入图像描述

if (isInitial) {
    // Add Data Rows (initially)
    for (const row of rows) {
        const clientVisitGuid = row[2];
        const location = row[3];
        row[5] = row[5].replace(/\//g, '\/\u200B');
        const service = row[5];
        const rowId = `${service || 'zzz'}_${location}_${clientVisitGuid}`;
        const sortString = `${service || 'zzz'}_${location}_${clientVisitGuid}`;
        const daysPastDischarge = parseInt(row[6]);
        const isMarked = parseInt(row[7]) === 1 ? true : false;
        if (cbt.hasBodyRow(rowId) === false) {
            const values: Array<[string, string | number]> = [];
            let isAllClear = true;
            for (let i = 0; i < row.length; i++) {
                const colId: string = cbt.headerRow.headerCols[i].id;
                const colVal: string | number = row[i];
                if (cbt.headerRow.headerCols[i].isFlag === true && colVal !== 1) {
                    isAllClear = false;
                }
                values.push([colId, colVal]);
            }
            const valueHash = hash(JSON.stringify(row));
            cbt.addBodyRow(
                rowId,
                values,
                valueHash,
                sortString,
                daysPastDischarge,
                isMarked,
                isAllClear,
                true,
            );
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Rok*_*vis 6

要修复错误,您需要在尝试替换字符串之前检查变量是否存在。用这样的 if 语句包裹它:

if(row[5]) {
    row[5] = row[5].replace(/\//g, '\/\u200B');
    const service = row[5];
}
Run Code Online (Sandbox Code Playgroud)