我有这个对象结构,我需要循环并在数组上找到一些值,例如。找到用户名是否为user2
的eq,我能够用两个对象(创建另一个对象并将数组键放在那里,如用户,地址等),但我想知道如果我只能用它做在对象上,
这是对象的样本
var stuff = {
users :['user1','user2'],
address:['addr1', 'addr2'],
emails:['email1', 'email2'],
};
答案 0 :(得分:0)
var stuff = {
users :['user1','user2'],
address:['addr1', 'addr2'],
emails:['email1', 'email2'],
};
function check(a) {
for(var key in stuff) {
var arr = stuff[key];
for(var i = 0; i < arr.length; i++) {
return arr[i] == a;
}
}
}
alert(check("user2"));
答案 1 :(得分:0)
var stuff = {
users :['user1','user2'],
address:['addr1', 'addr2'],
emails:['email1', 'email2'],
}
console.log(Object.keys(stuff))
输出
["users", "address", "emails"]
迭代内容
假设您希望在对象的所有键中找到user2
。
keys = Object.keys(stuff)
for(let i in keys){
// do something
//console.log(stuff[keys[i]])
ind = stuff[keys[i]].indexOf('user2')
if(ind >=0){
console.log('user2 found in ', keys[i])
}
}
答案 2 :(得分:0)
检查user2
中stuff.users
的{{3}}是否不是-1:
var stuff = {
users: ['user1', 'user2'],
address: ['addr1', 'addr2'],
emails: ['email1', 'email2'],
};
var isUser2Included = stuff.users.indexOf('user2') !== -1;
console.log(isUser2Included);
&#13;
答案 3 :(得分:-1)
左右:
var stuff = {
users: ['user1', 'user2'],
address: ['addr1', 'addr2'],
emails: ['email1', 'email2'],
};
stuff.findIt = (key, val) => stuff[key].indexOf(val) != -1;
console.log(stuff.findIt('users', 'user1'));
console.log(stuff.findIt('users', 'user3'));
console.log(stuff.findIt('emails', 'email1'));
&#13;