javascript - javascript Uncaught TypeError for map
问题描述
如果我在脚本中使用地图,我会收到此错误。如何解决此错误?
我收到此错误:未捕获的类型错误:无法读取 null 的属性“地图”
JS脚本:
var stringval="global $1200";
var getVal=stringval.match(/\d+/g).map(Number);
解决方案
字符串匹配返回Array<string> | null
。
- 如果找到匹配,将返回一个匹配的字符串数组。
- 如果没有找到匹配,
null
将被渲染。
因此,在您的情况下,如果字符串没有任何数字,它将返回null
导致脚本中断。
样本:
function getNumber(stringval) {
return stringval.match(/\d+/g).map(Number);
}
var stringval = "global $1200";
console.log(getNumber(stringval))
console.log(getNumber('Hello World'))
解决此问题的一种简单方法是添加匹配是否存在的检查:
function getNumber(stringval) {
// You can set any value based on your requirement
var defaultValue = undefined;
var matches = stringval.match(/\d+/g)
return matches !== null ? matches.map(Number) : defaultValue;
}
var stringval = "global $1200";
console.log(getNumber(stringval))
console.log(getNumber('Hello World'))
推荐阅读
- javascript - 在 FreeMarker 上获取 URL 的 queryString 参数的更好方法
- typescript - 由于打字稿错误,无法将模型与反对中的额外属性相关联
- tensorflow - 有没有办法在 Tensorflow 中“反转”神经网络?
- r - 在 foreach 循环中无法识别函数
- window - IBM DataStage Designer 窗口已隐藏
- python - 如果在我将每一行输入终端时它有效,为什么这个 shell 脚本会失败?
- android - firefox mobile/firefox focus 是否应该始终自动播放视频?
- javascript - 不是所有的对象都继承自 Object 实例?
- javascript - mapkit JS:如何绘制具有多个坐标的折线
- javascript - jquery问题输入读取值问题