Javascript 在JS中使用数组而不是对象
我在申请中声明了以下对象:Javascript 在JS中使用数组而不是对象,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我在申请中声明了以下对象: self.errors = { error: { status: 404, text: 'Missing!' } }; 现在,上述对象的目标是随着用户触发的每个错误而增长,以提供错误列表 现在据我所知,没有一种简单的方法可以为这个errors对象添加额外的error属性(因此我可以为405等添加一个属性) 但我对阵列的经验非常有限。是否有一种类似的格式可以在数组中使用,我只需将额外的error部分推送到数组中 这是假设
self.errors = {
error: {
status: 404,
text: 'Missing!'
}
};
现在,上述对象的目标是随着用户触发的每个错误而增长,以提供错误列表
现在据我所知,没有一种简单的方法可以为这个errors对象添加额外的error
属性(因此我可以为405等添加一个属性)
但我对阵列的经验非常有限。是否有一种类似的格式可以在数组中使用,我只需将额外的error
部分推送到数组中
这是假设没有简单的方法向对象添加属性
编辑:用户的操作将生成此错误列表,这意味着我不能仅使用以下结构:
self.errors = {
404: "not found",
500: "error text"
};
因为列表会无限期地增长,因为它们会不断触发错误。你的标题已经表明了正确的事情。您正在查找一组对象
self.errors = [{state:404, text: 'Resource not found'}, {state:200, text: 'OK'}]
我建议采用以下结构,便于访问每个属性:
self.errors = {
404: "not found",
500: "error text"
};
self.errors=[{status:404},{status:405},…]代码>?有一种简单的方法可以向对象添加属性:只需指定它们,如self.errors.newProperty=newValue
。但是,只有一个属性可以称为“error”,因此您的结构没有多大意义。您可以将status值作为键,而不仅仅是单词“error”。使用方括号[]
创建一个数组,然后将错误对象添加到其中。当然,如果您的目的是通过status
查找错误,那么可能更有意义的是使用一个与状态无关的对象:self.errors={404:'missing',405:'whatever'}
。例如,我认为{404:'missing',500:'oops…}
比搜索数组有用得多。。。马特说的…谢谢。我想更新它的方法是使用self.errors.push(objectOfNewError);对吗?@Aleski:是的,你是对的。但马科斯·卡萨格兰德的解决方案更为智能化——访问元素“更为自然”。