var arr = [
{ id:1,
name:"mincoo"
},
{ id:2,
name:"tomorrow"
}
];//参数:(要检测的数组,要检测的字段,要检测哪个key)function isContainKey(arr,value,keyName){ for(var i=0;i<arr.length;i++){ if(arr[i].keyName == value){ return false; //发现含有此元素
} else{ return true; //没有找到
} console.log(arr[i].keyName);
}
}
isContainKey(arr,"tomorrow","name");我想要的效果:如果检测到这个数组包含此元素,返回true,否则返回false。但是我这里写的白屏了,是什么原因呢?
2 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
你这是找数组第一个的对象的叫keyName
属性等不等于value
。
function isContainKey(arr,value,keyName){ for(var i=0;i<arr.length;i++){ if(arr[i][keyName] == value){ return true; //发现含有此元素 } } return false; }
其次为何要写着方法,不本来就有么。
arr.some(({ name }) => name === 'tomorrow' )
添加回答
举报
0/150
提交
取消