Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何访问数组中的javascript键/值对_Javascript_Arrays - Fatal编程技术网

如何访问数组中的javascript键/值对

如何访问数组中的javascript键/值对,javascript,arrays,Javascript,Arrays,我有以下javascript数组: var groupedDataSet1 = [{year: "0-1k", value1: Math.floor(Math.random()), value2: Math.floor(Math.random()), value3: Math.floor(Math.random())}, {year: "1-2k", value1: Math.floor(Math.random()), value2: Math.floor(Math.ra

我有以下javascript数组:

var groupedDataSet1 = [{year: "0-1k", value1: Math.floor(Math.random()), value2: Math.floor(Math.random()), value3: Math.floor(Math.random())},
            {year: "1-2k", value1: Math.floor(Math.random()), value2: Math.floor(Math.random()), value3: Math.floor(Math.random())},
            {year: "2-3k", value1: Math.floor(Math.random()), value2: Math.floor(Math.random()), value3: Math.floor(Math.random())},
            {year: "3-4k", value1: Math.floor(Math.random()), value2: Math.floor(Math.random()), value3: Math.floor(Math.random())},
            {year: "4-5k", value1: Math.floor(Math.random()), value2: Math.floor(Math.random()), value3: Math.floor(Math.random())}];
我想通过编程知道每个条目中有多少个键/值对

有没有办法知道groupedDataSet包含关键字year、value1、value2和value3,而另一个javascript数组可能只包含year、value1和value2

正在执行groupedDataSet[0]。长度无效

谢谢

Object.keys(groupedDataSet[0]).length
你应该得到你想要的。它返回一个数组,其中包含对象中的实例键


你应该得到你想要的。它返回一个包含对象中实例键的数组。

如果列表中的对象可能具有不同的键集,则必须检查每个对象以收集所有键。你能行

var keys_memo = {};
groupedDataSet1.forEach(function (item) {
    for (var i in item) {
        keys_memo[i] = 1;
    }
});
var keys = Object.keys(keys_memo);

console.log(keys)
>>>["year", "value1", "value2", "value3"] 

如果列表中的对象可能具有不同的关键帧集,则必须检查每个对象以收集所有关键帧。你能行

var keys_memo = {};
groupedDataSet1.forEach(function (item) {
    for (var i in item) {
        keys_memo[i] = 1;
    }
});
var keys = Object.keys(keys_memo);

console.log(keys)
>>>["year", "value1", "value2", "value3"] 

请参见此处:对象哈希没有length属性。。您必须显式地迭代键以获得长度
对象。键(groupedDataSet1[i])。长度
应该起作用。请参见此处:对象哈希没有长度属性。。您必须显式地迭代键以获得长度
对象。键(groupedDataSet1[i])。长度
应该起作用。一旦将键保存在变量中,如何访问该值?例如key=Object.keys(groupedDataSet[0])。如何使用键获取groupedDataSet[0]中存储的实际值?我明白了。key(groupedDataSet[0])[key]将返回值。谢谢将密钥保存在变量中后,如何访问该值?例如key=Object.keys(groupedDataSet[0])。如何使用键获取groupedDataSet[0]中存储的实际值?我明白了。key(groupedDataSet[0])[key]将返回值。谢谢