我需要檢查一個對象是否在邏輯上是一個數組,當兩個對象在邏輯上相等時(就像Java中的equals
一樣),它將被視爲「在「陣列中如何檢查一個對象是否在邏輯上是一個數組,JavaScript
雖然我使用的jQuery
來測試下面的代碼,它會回退-1,表示複製的數據不會被視爲數組中的」in「。
var a =[{value: "G27", title: "G27"}];
$.inArray({value: "G27", title: "G27"},a); //returns -1
以上僅僅是一個例子,有沒有通用案件一種簡單的方法來實現這一
在javascript中,沒有兩個obects永遠都是一樣的,所以它通常會很困難,您應該嘗試找出構建數據的更好方法。 – adeneo
您正在創建兩個對象,但是當您這樣做時,它將起作用: 'var b = {value:「G27」,title:「G27」}; var a = [b]; $ .inArray(b,a); //返回0' –
我想你可能會在這裏找到一個可能的答案:[array.contains(obj)in JavaScript] [1]! [1]:http://stackoverflow.com/questions/237104/array-containsobj-in-javascript – KevinD