これは驚きでしたが、単純な関数array.IndexOfは機能しません。Java Script array.indexOfが機能しない
$scope.nextProduct = function (pos, item) {
switch (pos) {
case 0: product = $scope.Menu[0].Breakfast
break
case 1: product = $scope.Menu[0].Lunch
break
case 2: product = $scope.Menu[0].BeforTraining
break
case 3: product = $scope.Menu[0].AfterTraining
break
case 4: product = $scope.Menu[0].Dinner
break
default: product = $scope.Menu[0].Breakfast
break
}
var index = product.indexOf(item.Name);
product[index - 1].IsSelect = false;
product[index + 1].IsSelected = true;
}
indexOf -1を返しますが、アイテムが配列に存在することを完全に確信しています。ここで何が間違っていますか?
いいえ、オブジェクトが存在しないに一致する配列を返します。その「名前」オブジェクトは、item.Nameと同じです存在する、それは非常に異なっている。 –
さて、item.Nameは文字列ですね。 –
オブジェクトの配列から文字列を検索すると、.Nameプロパティと一致させる方法はどのようにわかりますか? –