2016-08-16 5 views
2

私のような配列があります。私は、プロパティの値が「processed2」JavaScriptのプロパティ値をチェックして、配列内のオブジェクトのインデックスを見つける方法は?

私はそれをどのように行うことができますを満たすobjectindexを見つけたい

$scope.myArray = [{ 
    columnName: "processed1", 
    dataType: "char" 
}, { 
    columnName: "processed2", 
    dataType: "char" 
}, { 
    columnName: "processed3", 
    dataType: "char" 
}]; 

を?私はarray.indexOf()方法を使用してみましたが、私は応答-1

答えて

3

使用Array#findIndex配列内の要素が与えられたテスト関数を満たす場合findIndex()方法は、配列内のインデックスを返すを得ました。それ以外の場合は-1が返されます。

Array#indexOfarrayobjectsが含まれているとして、失敗indexOf()triple-equals operatorを使用して要素をテストし、objectますです、それは同じmemory-locationあなたが使用することができます

var myArray = [{ 
 
    columnName: "processed1", 
 
    dataType: "char" 
 
}, { 
 
    columnName: "processed2", 
 
    dataType: "char" 
 
}, { 
 
    columnName: "processed3", 
 
    dataType: "char" 
 
}]; 
 
var index = myArray.findIndex(function(el) { 
 
    return el.columnName == 'processed2'; 
 
}); 
 
console.log(index);

1

を参照している場合objectに等しいです単純なforループ。

for(var i=0;i < $scope.myArray.length; i++) 
{ 
    if($scope.myArray[i].columnName == 'processed2') { 
    // Do something with found item 
    break; 
    } 
} 
関連する問題