判断数组里是否包含某个值? 我有一个数组,元素是对象,如何判断这个数组里任意一个对象包含有指定的属性? 比如 JScript code [{"A":"a","B":"b"},{"A":"a","B":"b"},{"C":"c"}] 如何判断数组里任意一个对象含有属性“A”? ------解决方案-------------------- JScript code var arr = [{"A":"a","B":"b"},{"A":"a","B":"b"},{"C":"c"}] ; for(var i=0;i<3;i++) { document.write(arr[i].A + '\n'); } ------解决方案-------------------- JScript code // 从数组中取出所有包含属性A的对象 var array = [{ "A": "a", "B": "b" }, { "A": "a", "B": "b" }, { "C": "c"}]; var result = $.grep(array, function (n, i) { for (var key in n) { if (key == "A") { return true; } continue; } }); //result = [{ "A": "a", "B": "b" }, { "A": "a", "B": "b" }] ------解决方案-------------------- JScript code Array.prototype.isHas=function (value){ var max=this.length,res=false; if(max==0){return false}; for(var i=0;i<max;i++){ for(var name in this[i]){ if(name==value){ res=true; break; } }; if(res){break} }; return res; }; var arr = [{ "A": "a", "B": "b" }, { "C": "a", "D": "b" }, { "e": "c"}]; var str=arr.isHas("A")?'存在':'不存在'; alert(str) ------解决方案-------------------- 如果你的数组里面只是对象 比较容易 JScript code var arrTest = [{"A":"a","B":"b"},{"A":"a","B":"b"},{"C":"c"}]; function isIncludeA(arrArr , sEqu){ if(arrArr instanceof Array){ var oObj = null; var arrResult = new Array(); for(var i = 0; i < arrArr.length; i++){ oObj = arrArr[i]; if(oObj instanceof Object){ for(var prop in oObj){ if(oObj[prop] == sEqu){ arrResult.push(oObj[prop]); } } } } return arrResult.length == 0 ? "没有匹配项" : ("匹配项个数:" + arrResult.length); } } window.onload = function(){ var result = isIncludeA(arrTest , "A"); alert(result); }; ------解决方案-------------------- 也没什么问题。只是写死了,结果返回不明确。思路是没有问题的 JScript code Array.prototype.isHas=function (a){ if(this.length==0){return false}; for(var i=0;i<this.length;i++){ if(this[i][a]){return true} } }; var arr = [{ "A": "a", "B": "b" }, { "C": "a", "D": "b" }, { "e": "c"}]; var str=arr.isHas("f")?'存在':'不存在'; alert(str); ------解决方案-------------------- 判断对象数组里每个对象是否含有指定属性 var arr = [{"theforever_csdn":"a","B":"b"},{"theforever_csdn":"a","B":"b"},{"碧 海情天":"c"}] ; for(var i=0;i<arr.length;i++) { document.write('第'+(i+1)+'个对象里'+(arr[i].theforever_csdn==undefined?'不含有':' 含有') + '属性theforever_csdn<br/>'); }
|
|
来自: 绚爷好人图书馆 > 《乱七八糟的好用的东西》