只有一个数组的javascript循环对象

时间:2017-10-22 07:01:02

标签: javascript arrays node.js object

我有这个对象结构,我需要循环并在数组上找到一些值,例如。找到用户名是否为user2的eq,我能够用两个对象(创建另一个对象并将数组键放在那里,如用户,地址等),但我想知道如果我只能用它做在对象上,

这是对象的样本

var stuff = {
users :['user1','user2'],
address:['addr1', 'addr2'],
emails:['email1', 'email2'],
};

4 个答案:

答案 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)

检查user2stuff.users的{​​{3}}是否不是-1:

&#13;
&#13;
var stuff = {
  users: ['user1', 'user2'],
  address: ['addr1', 'addr2'],
  emails: ['email1', 'email2'],
};

var isUser2Included = stuff.users.indexOf('user2') !== -1;

console.log(isUser2Included);
&#13;
&#13;
&#13;

答案 3 :(得分:-1)

左右:

&#13;
&#13;
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;
&#13;
&#13;