如何编写校验多参数是否为string类型并在console输出的JS函数
实现方案
你可以直接参考下方修改后的可运行代码:
var stringOne = isString('rob','bob','carl') function isString() { // 仅需逐个打印参数校验结果的话,循环前不需要额外代码 // 如果需要返回所有参数是否全为字符串的整体结果,可在这里定义标记变量 let allIsString = true for(let i = 0; i < arguments.length; i++) { const currentVal = arguments[i] // 用if/else区分两种校验结果,分别打印对应提示 if (typeof currentVal === 'string') { console.log(`第${i+1}个参数「${currentVal}」是字符串类型`) } else { console.log(`第${i+1}个参数「${currentVal}」不是字符串类型,实际类型为${typeof currentVal}`) allIsString = false } } // 按需返回整体校验结果 return allIsString }
核心说明
- 循环前的内容可按需选择:如果只需要单独打印每个参数的校验结果,循环前不需要写任何代码;如果需要获得所有参数是否全为字符串的整体判断结果,只要在循环前定义一个布尔类型的标记变量即可。
- 需要使用if/else分支:因为要分别处理「是字符串」和「不是字符串」两种场景,打印不同的提示内容,用
typeof currentVal === 'string'即可完成基础的字符串类型校验,如果需要兼容new String()构造出来的字符串对象,可以把判断条件替换为Object.prototype.toString.call(currentVal) === '[object String]'。 - console.log直接放在if和else两个分支中,即可输出对应参数的校验结果。
内容的提问来源于stack exchange,提问作者user16434634
相关产品推荐
相关产品推荐

