㈠ js中判斷對象數組中是否有某個屬性的方法
正確使用判斷對象是否存在應該用:if($("#id").length>0){}else{} 使用jQuery 對象的屬性 length 來判斷,如果 > 0 就存在。或者 if($("#id")[0]){} else {} 或者直接使用原生的 Javascript 代碼來判斷: if(document.getElementByIdx_x_xx_x("id")){} else {} 或者var g = document.getElementById; if (g('addrId_324') != null) { //判斷是否存在這個id號,不存在則為null g('addrId_' + selAddressId).className = ''; } JQuery 判斷某個屬性是否存在 hasAttr在JQuery編碼中,我們會判斷元素是否存在某個屬性.比如是否包含 class="new"的樣式呢.JQuery判斷就非常簡單了,因為有 hasClass這個方法 $("input[name=new]").hasClass("new") 即可判斷. 這時就沒有現成的方法了. 如果存在某個屬性 $("#aid").attr("rel") 會返回 rel的值,如果不存在 rel屬性則會返回"undefined" undefined 就是 undefined類型 , if($("#aid").attr("rel")=="undefined") 這個判斷可能不成立. 因為類型不相同. 建議使用 if(typeof($("#aid").attr("rel"))=="undefined") 即可 判斷JS對象是否擁有某屬性兩種方式,但稍有區別1,in 運算符123varobj = {name:'jack'};alert('name'inobj); // --> truealert('toString'inobj); // --> true可看到無論是name,還是原形鏈上的toString,都能檢測到返回true。 2,hasOwnProperty 方法?123varobj = {name:'jack'};obj.hasOwnProperty('name'); // --> trueobj.hasOwnProperty('toString'); // --> false原型鏈上繼承過來的屬性無法通過hasOwnProperty檢測到,返回false。
㈡ js 怎麼判斷一個對象是否在數組里
|js沒有直接判斷數組中是否存在某一值,最笨的方法是把數組變為鍵值對的對象,版如:
varobj={};
vararr=[1,2,3];
for(vari=0;i<arr.length;i++){
varv=arr[i];
if(obj[v]||權obj[v]==0){//這里判斷v是否已經添加到obj中,如果數組為數字時,需要注意if(0)為true
continue;//已經存在就跳過
}else{
obj[v]=v;
}
}
alert(obj[1]);//存在數組中,true
alert(obj[4]);//不存在數組中,false
㈢ JS怎麼判斷一個對象是否為空
判斷一個對象是否為空,介紹如下三種判斷方法:
1、直接用for...in...遍歷屬性,結果為真是「非空數內組」,否容則是「空數組」,代碼如下:
if(Object.keys(obj).length==0){
console.log('空對象');
}else{
console.log('非空對象');
}