Angular 2使用动态密钥从json数组中获取密钥和值
问题描述:
我想从动态密钥的json数组中获取密钥和值。意思是,我不知道什么是关键。Angular 2使用动态密钥从json数组中获取密钥和值
这是一个例子的JSON的功能得到:
arr = [
{key1: 'val1'},
{key2: 'val2'},
{key3: 'val3'}
];
看似简单给我,但我不能让每个项目的键和值。
这是我试过(基于this pipe):
for (let key of arr) {
console.log ('key: ' + key + ', value: ' + arr[key]);
}
但是我得到的日志如下:
key:[object Object], value: undefined
我预期的行为是得到如下:
key:key1, value:val1
我在做什么错?我怎样才能得到钥匙和价值?
答
在你的例子中,你有一个对象数组,每个对象都有一个属性。
let arr = {
key1: 'val1',
key2: 'val2',
key3: 'val3'
};
答
你需要另一个用于循环访问键和值,
for (let key of this.arr) {
for(var i in key){
console.log('key: ' + i + ', value: ' + key[i]);
}
}
检查console
答
arr = [
{key1: 'val1'},
{key2: 'val2'},
{key3: 'val3'}
];
for (let key of arr.keys()) {
console.log ('key: ' + key + ', value: ' + Object.keys(arr[key])[0]);
}
结果:
"key: 0, value: key1"
"key: 1, value: key2"
"key: 2, value: key3"
为...在阵列回报项目(值):
从您发布
下面的代码...将在一个数据结构是这样的工作/目的。 for ... in返回数组/对象中的键。所以你需要一个更多的内部循环与...来获取每个项目的密钥。 –