Javascript 检查数组中是否存在该对象属性
我有以下数据集Javascript 检查数组中是否存在该对象属性,javascript,Javascript,我有以下数据集 data=[{name: "hk", age:21, gender:"M"}, {name: "kk", age:31, gender:"M"},{name: "tk", age:11, gender:"F"}] 如何测试是否有人名hk和找到的对象的索引 我已经用下面的代码进行了检查,但它不起作用 data.hasOwnProperty("hk") 试试看: var数据=[{姓名:hk,年龄:21,性别:M},{姓名:kk,年龄:31,性别:M},{姓名:tk,年龄:11,
data=[{name: "hk", age:21, gender:"M"}, {name: "kk", age:31, gender:"M"},{name: "tk", age:11, gender:"F"}]
如何测试是否有人名hk和找到的对象的索引
我已经用下面的代码进行了检查,但它不起作用
data.hasOwnProperty("hk")
试试看:
var数据=[{姓名:hk,年龄:21,性别:M},{姓名:kk,年龄:31,性别:M},{姓名:tk,年龄:11,性别:F}]
函数existsname{
var项目,i=0;
whileitem=数据[i++]
ifitem.name==名称返回-i
返回-1
}
AlertTk?-索引:+existk//-1:不存在尝试如下操作:
var数据=[{姓名:hk,年龄:21,性别:M},{姓名:kk,年龄:31,性别:M},{姓名:tk,年龄:11,性别:F}]
函数existsname{
var项目,i=0;
whileitem=数据[i++]
ifitem.name==名称返回-i
返回-1
}
AlertTk?-索引:+existk//-1:notexists您必须遍历数组并检查每个对象
function hasName(prop, value, data) {
return data.some(function(obj) {
return prop in obj && obj[prop] === value;
});
}
编辑:
如果您想返回索引,则必须使用跟踪索引的循环,类似于forEach
您必须遍历数组并检查每个对象
function hasName(prop, value, data) {
return data.some(function(obj) {
return prop in obj && obj[prop] === value;
});
}
编辑:
如果您想返回索引,则必须使用跟踪索引的循环,类似于forEach
javascript中有内置的方法吗?不使用while条件?是的,您可以在数组中使用一些,我使用了循环,因为有些浏览器仍然不支持某些循环。更快捷的是,如何获取找到的对象的索引?更新的返回索引:要检查是否不存在,该值返回-1。与顺便说一句,我发现变量I=0的正则表达式,n=data.length;我!=n++我每次操作都比计算数组元素快。javascript中有内置的方法吗?不使用while条件?是的,您可以在数组中使用一些,我使用了循环,因为有些浏览器仍然不支持某些循环。更快捷的是,如何获取找到的对象的索引?更新的返回索引:要检查是否不存在,该值返回-1。与顺便说一句,我发现变量I=0的正则表达式,n=data.length;我!=n++我的运算速度比每次计算数组元素都要快。多亏了adeneo,它工作起来很好用。当SOF允许的时候,我会做个标记作为答案。我怎样才能得到找到的对象的索引呢?谢谢adeneo,它很好用。当SOF允许时,我将标记为答案。我如何获得找到的对象的索引?