使用Javascript/Jquery在数组中查找对象
我需要使用以下函数在数据数组中循环,并在函数找到具有特定值的对象时返回“True”。但是,当我启动函数时,它返回以下错误消息:使用Javascript/Jquery在数组中查找对象,javascript,jquery,Javascript,Jquery,我需要使用以下函数在数据数组中循环,并在函数找到具有特定值的对象时返回“True”。但是,当我启动函数时,它返回以下错误消息: Cannot read property 'isTrue' of undefined 你能看一下并解释一下我做错了什么吗 var数据=[ { 类别:“1”, 价值观:[ {key:“valueToGet1”,isTrue:“true”}, {key:“valueToGet2”,isTrue:“false”} ] }, { 类别:“2”, 价值观:[ {key:“va
Cannot read property 'isTrue' of undefined
你能看一下并解释一下我做错了什么吗
var数据=[
{
类别:“1”,
价值观:[
{key:“valueToGet1”,isTrue:“true”},
{key:“valueToGet2”,isTrue:“false”}
]
},
{
类别:“2”,
价值观:[
{key:“valueToGet3”,isTrue:“false”},
{key:“valueToGet4”,isTrue:“true”}
]
}
]
var getValue=函数(值){
var结果;
$。每个(数据、功能(i、项){
结果=$.grep(项值,函数(e){
返回e.key==值;
})[0];
})
返回result.isTrue==“true”;
}
log(getValue('valueToGet4')//应该返回true代码>
您可以使用
var数据=[{
类别:“1”,
价值观:[{
键:“valueToGet1”,
isTrue:“真的”
}, {
键:“valueToGet2”,
isTrue:“假”
}]
}, {
类别:“2”,
价值观:[{
键:“valueToGet3”,
isTrue:“假”
}, {
键:“valueToGet4”,
isTrue:“真的”
}]
}]
var getValue=函数(值){
返回数据。一些(d=>{
返回d.values.some(v=>{
返回v.key==value&&v.isTrue==“true”
})
});
}
log(getValue('valueToGet4')//应该返回true代码>
您可以使用
var数据=[{
类别:“1”,
价值观:[{
键:“valueToGet1”,
isTrue:“真的”
}, {
键:“valueToGet2”,
isTrue:“假”
}]
}, {
类别:“2”,
价值观:[{
键:“valueToGet3”,
isTrue:“假”
}, {
键:“valueToGet4”,
isTrue:“真的”
}]
}]
var getValue=函数(值){
返回数据。一些(d=>{
返回d.values.some(v=>{
返回v.key==value&&v.isTrue==“true”
})
});
}
log(getValue('valueToGet4')//应该返回true代码>
使用Reduce排除您不想要的项目:
var getValue = function (value) {
var result = data.filter(function (item) {
result = item.values.filter(function (e) {
return e.key == value && e.isTrue == 'true';
});
return result.length > 0
})
return result.length > 0 ;
}
使用“减少”排除不需要的项目:
var getValue = function (value) {
var result = data.filter(function (item) {
result = item.values.filter(function (e) {
return e.key == value && e.isTrue == 'true';
});
return result.length > 0
})
return result.length > 0 ;
}
参考链接,错误是说结果
未定义,因此我猜您对数据
对象有一些问题。是否尝试将整个数组作为参数传递getValue('valueToGet4',data)
和定义:var getValue=function(value,array)
参考链接错误说明result
未定义,因此我猜您对数据
对象有一些问题。是否尝试将整个数组作为参数传递getValue('valueToGet4',data)
和定义:var getValue=function(value,array)
谢谢,这是最合适的!谢谢,最合适的!感谢另一个解决方案,肯定会考虑使用这个感谢另一个解决方案,一定会考虑使用这个