arrays - 将带有数组的对象转换为带有数组的数组 - *ngfor 用法
问题描述
我有一个创建包含数据的数组的表单,然后我将该数组放在我的 firebase Datatime 中的一个对象中。
当我从该对象获取数据时,对象中的数据具有 2 个数组。
问题是使用 *ngfor 我需要对象是一个包含数组的数组。可能吗?
我怎样才能做到?
物体:
{adeus: Array(1), olaaaaa: Array(2)}
我如何从firebase调用它:
listSearch(){
this.af.object("/list").query.once('value').then(data => {
console.log(data.val() as string);
this.teamsList = data.val() as string;
});
}
我收到此错误:
core.js:4197 错误错误:找不到“对象”类型的不同支持对象“[对象对象]”。NgFor 仅支持绑定到 Iterables,例如 Arrays
所以我需要一种方法将该对象转换为具有两个数组的数组。
有什么帮助吗?
解决方案
我不明白你想要的解决方案。但是如果你想迭代到一个对象的属性,你可以使用 Object.keys 如下
let object = { array1 : ['a','b'], array2 : ['c','d'] }
let arrayOfArrays = Object.keys(object).map(k => object[k])
结果将是
arrayOfArrays = [ ['a', 'b'], ['c', 'd'] ]
希望这可以帮到你
推荐阅读
- hyperledger-composer - 如何为个人参与者生成个人分类账
- python - 如何在 python 类中使用字典键和值?
- php - 重定向问题 - 网站仅在移动设备上重定向,而不在桌面设备上重定向
- ios - Xcode 10 - 如何刷新 Siri 快捷方式意图定义文件的本地化?
- ssh - 无法在 oracle VM 中将 SSH rsa 密钥从主机复制到从机
- sql - 为多条记录生成两个日期之间的日期列表
- linux - 如何抑制不相关的 ShellCheck 消息?
- javascript - 确定一个字符串是否存在于以另一个数组中的另一组字符串开头的数组中
- css - Woocommerce 结帐显示 1 列...似乎无法恢复默认 2?
- javascript - undefined 不是状态数组中的对象,试图找到状态数组长度