javascript - javascript中判断对象是否有属性和值

标签 javascript jquery web

我想检查一个对象是否具有某物的属性并且其值是否等于某个值。

var test = [{name : "joey", age: 15}, {name: "hell", age: 12}]

就是这样,一个对象数组,现在我想在对象内部进行搜索,如果该对象包含我想要的内容,则返回 true。

我尝试这样做:

Object.prototype.inObject = function(key, value) {
if (this.hasOwnProperty(key) && this[key] === value) {
  return true
};
return false;
};

这可以工作,但不能在数组中。我该怎么做?

最佳答案

使用some Array method测试数组中每个值的函数:

function hasValue(obj, key, value) {
    return obj.hasOwnProperty(key) && obj[key] === value;
}
var test = [{name : "joey", age: 15}, {name: "hell", age: 12}]
console.log(test.some(function(boy) { return hasValue(boy, "age", 12); }));
// => true - there is a twelve-year-old boy in the array

顺便说一句,don't extend Object.prototype .

关于javascript - javascript中判断对象是否有属性和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19301768/

相关文章:

javascript - js 按按钮上的 id 排序

javascript - 如何使用 angularjs 工厂获取和设置?

javascript - 运行 do while 循环会导致 fatal error

javascript - 拖动后检测鼠标松开

jQuery 鼠标移动 : have navbar appear only when mouse moves

javascript - 将 CSS 和 JavaScript 放在文件或主 HTML 中?

javascript - 元素离开视口(viewport)时的交点观察者

javascript - jQuery 的 :hidden selector not working in IE9 Quirks Mode

html - 如何在中间对齐此菜单(并且仍然响应)?

java - 如何将 google 文档与我的 java web 应用程序集成?