JS代碼:如何分割AngularJS中的數據?
$scope.records={"0.19", "C:0.13", "C:0.196|D:0.23"}
.filter('filterOutput', function() {
return function (input) {
if (input.indexOf(":") != -1) {
var out = input
.split('|')
.map(function (v) {
var s = v.split(':')
return s[0] + ':' + (Number(s[1]) * 100) + "%"
})
.join()
return out;
} else {
return input * 100 + "%";
}
}
})
HTML代碼:
<h1 ng-repeat="x in records|filterOutput">{{x}}</h1>
我想輸出:
"19%"
"C:13%"
"C:19.6%|D:23%"
但console.log
:
TypeError: input.indexOf is not a function
應該是什麼我做? 如何在AngularJS中分割數據?
我不知道如何你的聲明$ scope.records = { 「0.19」,「C: 0.13「,」C:0.196 | D:0.23「}執行?而且indexOf適用於數組和字符串。在html上查看$ scope.records = {「0.19」,「C:0.13」,「C:0.196 | D:0.23」}或{{records}}之下的console.log,看它是否有任何記錄 –
The問題是你有一個對象而不是一個數組** indexOf **適用於數組和字符串。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf – Azarus
$ scope.records本身不是有效的json,它不能與ng-repeat一起使用。 ng-repeat需要一個數組來重複一個對象。 – superUser