我试图推.match()
结果到一个数组,但我不希望在一个数组的数组。试图推动.match结果阵列
所以是有可能只能得到是结果数组中的价值?
$scope.iframes.duration.push($scope.iframes.src[i].match(/data-duration="[^]*?"/g));
这就是我现在要做的;但是,我不想在原始数组中添加一个新数组,我只想得到结果的值。
我试图推.match()
结果到一个数组,但我不希望在一个数组的数组。试图推动.match结果阵列
所以是有可能只能得到是结果数组中的价值?
$scope.iframes.duration.push($scope.iframes.src[i].match(/data-duration="[^]*?"/g));
这就是我现在要做的;但是,我不想在原始数组中添加一个新数组,我只想得到结果的值。
您可以使用Array#concat
在duration
数组内添加match
结果数组元素。
$scope.iframes.duration = $scope.iframes.duration.concat($scope.iframes.src[i].match(/data-duration="[^]*?"/g));
concat()
不更新实际数组,它返回更新的数组。要更新数组,可以将concat
的结果分配给数组。
此外,正则表达式应为/data-duration="[^"]*?"/g
以匹配data-duration
属性的值,该值用引号括起来。
由于只有一个具有相同名称的有效的属性,你可以安全地从正则表达式中删除g
标志。
这一切看起来非常好,听起来就像它必须工作,但这个'$ scope.iframes.duration.concat($ scope.iframes.src [I] .match (/ data-duration =“[^] *?”/ g));'不行? – SjaakvBrabant
@Goldenowner要更新数组,您需要分配结果。防爆。 '$ scope.iframes.duration = $ scope.duration.concat(...' – Tushar
你是对的,非常感谢! – SjaakvBrabant