数据格式的条件 If 语句

问题描述 投票:0回答:1

如果单元格中的数据与字符串-数字-数字格式不匹配,我想跳过代码迭代。例如,所需的格式是 Apple-34-56。如果我定义的数组具有 Apple-Grape-23 等格式,或与所需格式相反的任何其他变体,则它应该跳到下一次迭代。

function populateData (sheet1, sheet2) {

    var dataRange = sheet1.getRange("A:A").getValues();

    for (var i = 0; dataRange.length; i++) {

        if (dataRange !== string-number-number) {
            continue;
        }
    }
}

这是设置条件的正确方法吗?

javascript for-loop if-statement continue
1个回答
1
投票

您要求的是一个正则表达式来匹配您所需的约束。

即如果您的意思是“(任意长度的单词)-(任意长度的数字)-(任意长度的数字)”,您的 if 语句将变为:

if (! dataRange[i].match(/^\w+-\d+-\d+$/)) {...};
// (Notice the `[i]` I guess you missed 😉)

话虽如此,您甚至可以避免使用 continue 语句,让您的目标输入更加清晰:

const re_fmt = /^\w+-\d+-\d+$/;

function populateData (sheet1, sheet2) {

    var dataRange = sheet1.getRange("A:A").getValues();

    for (
        let i = 0;
        dataRange.length;
        i++
    ) if (
        dataRange[i].match(re_fmt)
    ) {

        /* Your code... */

    }
}
© www.soinside.com 2019 - 2024. All rights reserved.