试图将.match结果推送到数组

时间:2016-01-22 10:31:50

标签: javascript angularjs

我试图将.match()结果推送到数组中,但我不想在数组中使用数组。

那么是否可以只获取结果数组中的值?

$scope.iframes.duration.push($scope.iframes.src[i].match(/data-duration="[^]*?"/g));

这就是我现在这样做的方式;但是,我不想在原始数组中使用新数组,我只想要结果的值。

2 个答案:

答案 0 :(得分:2)

您可以使用concat而不是push来将数组与原始数组连接起来。

答案 1 :(得分:1)

您可以使用Array#concatmatch数组中添加duration结果数组元素。

$scope.iframes.duration = $scope.iframes.duration.concat($scope.iframes.src[i].match(/data-duration="[^]*?"/g));

concat()不更新实际数组,它返回更新的数组。要更新阵列,可以将concat的结果分配给数组。

此外,RegEx应为/data-duration="[^"]*?"/g以匹配引号中的data-duration属性值。

由于只有一个具有相同名称的有效属性,您可以安全地从RegEx中删除g标志。