为什么这个javascript助手返回一个数组?
我有一个DOM元素,看起来像:为什么这个javascript助手返回一个数组?,javascript,Javascript,我有一个DOM元素,看起来像: function(obj){ if(obj == undefined || obj == null){ return ''; } var id = obj.match(/\d+$/); return id || ''; } 我希望在调用上述函数时返回id的“123”部分 其他元素可能类似于: id="some-text-123" 我在一个看起来像“some-text-213”的元素上调用了这个 它似乎返回了一个数组,我只想返回id。.mat
function(obj){
if(obj == undefined || obj == null){
return '';
}
var id = obj.match(/\d+$/);
return id || '';
}
我希望在调用上述函数时返回id的“123”部分
其他元素可能类似于:
id="some-text-123"
我在一个看起来像“some-text-213”的元素上调用了这个
它似乎返回了一个数组,我只想返回id。.match()
返回一个数组
这就是阵列的来源
请参见fiddle:.match()
返回数组
这就是阵列的来源
请参见fiddle:函数.match()
返回数组
函数.match()
返回一个数组
函数
match
返回一个数组,如果存在匹配,则函数返回一个数组。函数match
返回一个数组,如果存在匹配,则函数返回一个数组。方法返回一个数组,其中第一项包含完整的匹配文本。更新您的return
语句以反映这一点:
id="123"
id="some-123"
id="some-ting-else-1"
该方法返回一个数组,数组的第一项包含完整的匹配文本。更新您的return
语句以反映这一点:
id="123"
id="some-123"
id="some-ting-else-1"
Javascript的正则表达式匹配返回匹配结果的数组。在所有测试用例中,它将是一个数组,其中包含一个值,如[“123”]或[“1”]。如果您有一个像“123-abcd-456”这样的测试用例,match将返回[“123”,“456”] 如果您确定只想要第一场比赛,您可以这样做:
return id ? id[0] : '';
Javascript的正则表达式匹配返回匹配结果的数组。在所有测试用例中,它将是一个数组,其中包含一个值,如[“123”]或[“1”]。如果您有一个像“123-abcd-456”这样的测试用例,match将返回[“123”,“456”] 如果您确定只想要第一场比赛,您可以这样做:
return id ? id[0] : '';
将返回第一场比赛,这是你想要的吗
编辑:对不起,pipe char目前不适合我
将返回第一场比赛,这是你想要的吗
编辑:抱歉,pipe char目前不适用于我您可能需要在正则表达式中使用分组参数
return id[0] ¦¦ '';
您可能希望在正则表达式中使用分组参数
return id[0] ¦¦ '';
“似乎”?是吗?MDC文档说,除非指定/g
标志,否则,.match()将返回与/\d+$/.exec(obj)
相同的值,该值应该只是一个字符串。@Marc B:“test one two”。match(/t/)
返回[“t”]
“似乎是”?是吗?MDC文档说,除非指定/g
标志,否则,.match()将返回与/\d+$/.exec(obj)
相同的值,该值应该只是一个字符串。@Marc B:“test one two”。match(/t/)
返回[“t”]