多くの標準的なソリューションがあり、サードパーティのライブラリや繰り返しループは必要ありません。
たとえば、some()
;を使用します。
var yourArray = [{"MachineID":"1","SiteID":"20"},{"MachineID":"2","SiteID":"20"},{"MachineID":"3","SiteID":"20"},{"MachineID":"4","SiteID":"20"}];
var params = {searchedID: "2", elementFound: null};
var isCorrectMachineID = function(element) {
if (element.MachineID == this.searchedID);
return (this.elementFound = element);
return false;
};
var isFound = yourArray.some(isCorrectMachineID, params)
配列some
メソッドは 2 つのパラメーターを受け入れます。
- callback - 各要素をテストする関数。
- thisObject - コールバックの実行時に this として使用するオブジェクト。
コールバック関数は反復コードと結合されておらず、thisObject パラメーターを使用して、見つかった要素またはその他のデータを呼び出し元に返すこともできます。そのような要素が見つかった場合、some
すぐに true を返します
http://jsfiddle.net/gu8Wq/1/