判断数组里是否包含某个值?
我有一个数组,元素是对象,如何判断这个数组里任意一个对象包含有指定的属性?
比如
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/>');
}