问:
通过paelData.cardMap.C0002112可以获取到Cooo2112里面的数据,但是有时候接口返回的不是C0002112而是C0002093或者其他值,请问我该怎么写?
后端返回的数据是这样的:
cardMap: {
C0002112: { name: 'Item 1', value: 100 },
},有可能是C0002112,也可能改为其他的,
回答:
javascript
明白了,既然 `cardMap` 中只有一个键值对,并且这个键可能是不同的值,你可以直接获取 `cardMap` 中的第一个键,然后通过这个键来访问对应的数据。以下是一个示例代码:
// 假设这是后端返回的数据
const data = {
cardMap: {
C0002112: { name: 'Item 1', value: 100 },
// 这里只有一个键值对
}
};
// 获取 cardMap 的所有键
const keys = Object.keys(data.cardMap);
// 检查是否有键存在
if (keys.length > 0) {
// 获取第一个键
const firstKey = keys[0];
// 获取第一个键对应的数据
const firstValue = data.cardMap[firstKey];
console.log(firstValue); // 输出: { name: 'Item 1', value: 100 }
} else {
console.log('cardMap 为空');
}
这段代码的逻辑如下:
1. 使用 `Object.keys` 方法获取 `cardMap` 对象的所有键,并存储在 `keys` 数组中。
2. 检查 `keys` 数组是否有键存在。
3. 如果有键存在,获取第一个键,并通过该键获取对应的值。
4. 如果 `cardMap` 为空,输出相应的提示信息。
这样,无论 `cardMap` 中的键是什么,你都可以动态地获取到唯一的键对应的数据。