获取JavaScript对象中每个键的值

Get the value for every key in a JavaScript object

本文关键字:JavaScript 对象 获取      更新时间:2023-09-26

我有一个带有键和数组值的对象,如下所示:

var obj = {
   key1: ['value1','value2','value3'],
   key2: ['value1','value2','value3'],
   key3: ['value1','value2','value3'],
   key4: ['value1','value2','value3']
};

我想要的是获取每个键的数组。

我该怎么做?

我使用Object.keys编写了一个函数,但它只获取对象的密钥:

Object.keys(obj).forEach(function (key) {
   console.log(key);
});

使用obj[key]访问对象obj中键key的值。

Object.keys(obj).forEach(function (key) {
   console.log(obj[key]);  // Will be an array
});

更好的迭代器是。。。在

for (key in obj) {
  console.log(obj[key]);
}

您可以使用循环遍历对象中的项目

for (item in obj) {
  console.log(obj[item]);
}

obj[item]将为您提供每个数组。

使用现有的解决方案,您需要将key更改为obj[key]

这很有效。。

var obj = {
   key1: ['value1','value2','value3'],
   key2: ['value1','value2','value3'],
   key3: ['value1','value2','value3'],
   key4: ['value1','value2','value3']
};
Object.keys(obj).forEach(function (key) {
   console.log(obj[key]);
});

请参见Fiddle:https://jsfiddle.net/5t4c4sg8/

不确定以后要对值做什么,但如果只想将所有值放在一个数组中,那么只需执行

var allValues = [];
Object.keys(obj).forEach(function (key) {
   allValues.concat(obj[key]);
});

这将获得所有键值&然后你可以将该阵列推入特定的阵列

for(var key in obj)
    console.log(obj[key])

只是如何将Object.keys()Array.prototype.some() 结合使用的示例

some()方法测试数组中的某个元素是否通过了所提供函数实现的测试。

如果回调返回CCD_ 11。它停止迭代。

var obj = {
    key1: ['value1', 'value2', 'value3'],
    key2: ['value1', 'value2', 'value3'],
    key3: ['value1', 42, 'value3'],
    key4: ['value1', 'value2', 'value3']
};
Object.keys(obj).some(function (k) {
    document.write('k: ' + k + '<br>');
    if (~obj[k].indexOf(42)) {
        document.write('Found the answer in ' + k);
        return true;
    }
});