Javascript 如何查找包含嵌套对象元素的JSON数组
下面是我的JSON数组,我想知道Javascript 如何查找包含嵌套对象元素的JSON数组,javascript,json,Javascript,Json,下面是我的JSON数组,我想知道contactarray是否有特定值 data = [ { _id: 5a67294923aba20014e2fe5a, customerLocation: '473 Victoria St, Singapore 198371', customerName: 'UNIVERSAL', id: 'UNI3L2', customerType: 'customer',
contact
array是否有特定值
data = [ { _id: 5a67294923aba20014e2fe5a,
customerLocation: '473 Victoria St, Singapore 198371',
customerName: 'UNIVERSAL',
id: 'UNI3L2',
customerType: 'customer',
contact:
[ 'Brian spilak',
'Brian spilak2',
'Brian spilak3',
'Brian spilak4',
'Brian spilak5' ] } ];
JAVASCRIPT
function findContact(data,con){
return data.contact.find(item => {
return item.data.contact == con;
})
}
console.log('Contact Name :', findContact(data,'Brian spilak2'));
您可以使用
数据。联系人
用于显示的联系人数据您可以使用数据。联系人
用于显示的联系人数据使用索引
。由于它只是一个对象,因此数据[0]
用于获取第一个对象,如果它是一个对象数组,则可以用于每个方法
var数据=[{
_id:'5a67294923aba20014e2fe5a',
客户地址:“新加坡维多利亚街473号,198371”,
客户名称:“通用”,
id:'UNI3L2',
customerType:“customer”,
联系人:[“Brian spilak”,
“Brian spilak2”,
“Brian spilak3”,
“Brian spilak4”,
“Brian spilak5”
]
}];
函数findContact(数据,con){
如果(数据[0]。联系。indexOf(con)!=-1){
返回“已找到”;
}否则{
返回“未找到”;
}
}
log('Contact Name:',findContact(数据,'Brian spilak2')
使用indexOf
。因为它只是一个对象数据[0]
用于获取第一个对象,如果它是对象数组,则可以使用forEach方法
var数据=[{
_id:'5a67294923aba20014e2fe5a',
客户地址:“新加坡维多利亚街473号,198371”,
客户名称:“通用”,
id:'UNI3L2',
customerType:“customer”,
联系人:[“Brian spilak”,
“Brian spilak2”,
“Brian spilak3”,
“Brian spilak4”,
“Brian spilak5”
]
}];
函数findContact(数据,con){
如果(数据[0]。联系。indexOf(con)!=-1){
返回“已找到”;
}否则{
返回“未找到”;
}
}
log('Contact Name:',findContact(数据,'Brian spilak2')
您可以使用数组#查找
和数组#包含
来检查对象的联系人
属性中是否存在名称
var data=[{{u id:'5A67294923ABA2002014E2FE5A',客户地址:'473 Victoria St,Singapore 198371',客户名称:'UNIVERSAL',id:'UNI3L2',客户类型:'customer',联系人:['Brian spilak','Brian spilak2','Brian spilak3','Brian spilak4','Brian spilak5'];
var result=data.find(o=>o.contact.includes('Brian spilak2');
控制台日志(结果)
您可以使用数组#查找
和数组#包含
来检查对象的联系人
属性中是否存在名称
var data=[{{u id:'5A67294923ABA2002014E2FE5A',客户地址:'473 Victoria St,Singapore 198371',客户名称:'UNIVERSAL',id:'UNI3L2',客户类型:'customer',联系人:['Brian spilak','Brian spilak2','Brian spilak3','Brian spilak4','Brian spilak5'];
var result=data.find(o=>o.contact.includes('Brian spilak2');
控制台日志(结果)
项
没有数据。请联系属性,您的数据
将其作为数组响应,因此您必须指定一个索引,以便使用:
function findContact(data,con){
return data[0].contact.find(item => {
return item == con;
})
}
项
没有数据。请联系
属性,然后您的数据
将其作为数组响应,因此您必须指定一个索引来处理:
function findContact(data,con){
return data[0].contact.find(item => {
return item == con;
})
}
这个函数返回数组中与名称条件匹配的所有对象
function filterName(data, srchName) {
return data.filter((obj) => {
return obj.contact.indexOf(srchName) !== -1
})
}
console.log(filterName(data, 'Brian spilak'));
这个函数返回数组中与名称条件匹配的所有对象
function filterName(data, srchName) {
return data.filter((obj) => {
return obj.contact.indexOf(srchName) !== -1
})
}
console.log(filterName(data, 'Brian spilak'));
@乔·汤姆帮助比;)替换item.data.contact==con;仅使用item==con;不清楚你想找什么。数据是否有多个客户对象?你是在寻找一个特定的客户吗?还是总是只有一个对象?@Mark\M No只有一个客户对象和一个联系人对象。我想知道联系人对象是否有特定值。@joe tom help than;)替换item.data.contact==con;仅使用item==con;不清楚你想找什么。数据是否有多个客户对象?你是在寻找一个特定的客户吗?还是总是只有一个对象?@Mark\M No只有一个客户对象和一个联系人对象。我想知道联系人对象是否有特定值。为什么要使用some()
而不仅仅是从includes()
返回的布尔值?这里使用some来迭代数组。@Hassaniam如果我要返回找到的对象怎么办?我已经更新了解决方案以返回完整的对象。为什么要使用some()
而不仅仅是从includes()
返回的布尔值?这里使用一些布尔值来迭代数组。@Hassaniam如果我想返回找到的对象怎么办?我已经更新了解决方案以返回完整的对象。数据
是一个数组。它没有联系人
属性。数据
是一个数组。它没有联系人
属性。