【发布时间】:2023-04-08 02:02:01
【问题描述】:
我知道如何设置对象的默认值:
store.currentUser = {
username: ''
}
并为其设置新值:
store.getCurrentUser = () => {
const currentUser = Parse.User.current()
store.currentUser.username = currentUser.username
}
}
但如果我有一个数组,我就不能这样做:
store.buildings = [
// how to set the defaults here?
]
因为数组可以包含的对象数量是未知的:
store.findBuildings = () => {
const query = new Parse.Query(Building)
return query.find({
success: (buildings) => {
// _.map(buildings, (building) => building.toJSON())
// -> [ {name: 'Name 1'}, {name: 'Name 2'}, etc... ]
// how to give the new values to store.buildings?
},
error: (buildings, error) => {
console.log('Error:', error.message)
}
})
}
这里有什么方法可以做到这一点吗?
注意:我不能只使用buildings = [],因为我需要将键设置为默认值,以便我的应用程序的反应性正常工作。
【问题讨论】:
-
@Sandip Nirmal 我想如果我这样做,我仍然无法设置默认值?
-
为
buildings设置一个模板变量,然后克隆它,如果密钥长度为0左右呢? -
我不是 100% 确定你想要什么。如果来自 Parse 的数据没有,您是否希望从 Parse 中提取建筑物属性的默认值?或者您是否想要一两个可以被 Parse 数据覆盖的示例建筑?或者...
-
为什么
[]不是一个有效的默认值?数组可以有任意数量的元素,因此您的应用程序应该能够处理 0 个元素。我认为您的问题不在于默认值,而在于您如何进一步处理该数组。
标签: javascript arrays