为了账号安全,请及时绑定邮箱和手机立即绑定

如何抛出异常?

如何抛出异常?

森栏 2022-07-15 10:21:39
我有一个将二维数组转换为 csv 格式的函数。该函数应仅适用于文本和数字,否则会显示错误。当我启动该功能时,首先进行检查并且该功能完成。如何使该功能继续工作?function arraysToCsv(data) {  for(let i = 0; i < data.length; i++){    let value = data[i];    for(let j = 0; j < value.length; j++){      if(typeof value[j] !== 'string' || typeof value[j] !== 'number')        throw new Error('Unexpected value');      let result = value[j].replace(/"/g, '""');      if (result.search(/("|,|\n)/g) >= 0){          result = '"' + result + '"';      }      return result.join(',') + '\n';  }  }}
查看完整描述

2 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

如果您的函数必须仅使用数字或字符串,则您将其插入 if continue 语句中。

if(typeof value[j] !== 'string' || typeof value[j] !== 'number') 继续;

如果要显示错误消息,可以使用警报,也可以通过 console.log 将其写入控制台,在 continue 语句之前。我希望对你有所帮助。


查看完整回答
反对 回复 2022-07-15
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

function arraysToCsv(data) {

  for(let i = 0; i < data.length; i++){

    let value = data[i];

    for(let j = 0; j < value.length; j++){

      let type = typeof(value[j]);

      let isStringOrNumber = type === 'string' || type === 'number';

      if(!isStringOrNumber)

        throw new Error('Unexpected value');

      let result = value[j].replace(/"/g, '""');

      if (result.search(/("|,|\n)/g) >= 0){

          result = '"' + result + '"';

      }

      return result.join(',') + '\n';

  }

  }

}

或者(使用和)...


function arraysToCsv(data) {

  for(let i = 0; i < data.length; i++){

    let value = data[i];

    for(let j = 0; j < value.length; j++){

      let type = typeof(value[j]);

      let isNotStringOrNumber = type !== 'string' && type !== 'number';

      if(isNotStringOrNumber)

        throw new Error('Unexpected value');

      let result = value[j].replace(/"/g, '""');

      if (result.search(/("|,|\n)/g) >= 0){

          result = '"' + result + '"';

      }

      return result.join(',') + '\n';

  }

  }

}


查看完整回答
反对 回复 2022-07-15
  • 2 回答
  • 0 关注
  • 123 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信