2016-11-25 16 views
1

私の変数の長さが1であるかどうかをチェックしようとしています。 undefinedを返しますscope.h.lengthlength関数を使用すると、未定義が返されます

var n = new Date(); 
$scope.h = n.getHours(); 
$scope.m = n.getMinutes(); 

console.log($scope.h.length) // returns undefined 

if($scope.h.length < 2 && $scope.m.length < 2) { 
    $scope.hm = $scope.h * 10 + "" + $scope.m * 10; 
    console.log($scope.hm); 
} 

が、$:

私はそうのようにこれを行います。どうして? これはどうすればよいですか?

+0

あなたが整数のための長さをチェックしようとしているあなたは、未定義次に、getHoursを得ている理由は、()整数を返すthatsの –

+1

次に、getHours()は、代替とは何整数 –

+0

に整数、あなたはcannoyアクセスlengthプロパティをretuensから? – olivier

答えて

3

Date.prototype.getHours() thtaを返信しました。integer numberを返すので、直接.lengthを使用することはできません。

ソリューションは、あなたが= "" + h

var n = new Date(); 
 
var h = n.getHours(); 
 
var m = n.getMinutes(); 
 

 
var hString = "" + h; 
 
var mString = m.toString(); 
 

 
console.log(hString.length); 
 
console.log(mString.length);

0

次に、getHours()は数値を返す使用することができます長さ

OR

を取る前toString()機能を使用することです。数値にはlengthプロパティはありません。最初に$ scope.h.toString()を使って数字を文字列に変換してみてください。

3

あなたの場合は長さを確認する必要はありません。

if($scope.h < 10 && $scope.m < 10) { 
関連する問題