我試圖推.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