Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在JS中使用数组而不是对象_Javascript_Arrays_Javascript Objects - Fatal编程技术网

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:是的,你是对的。但马科斯·卡萨格兰德的解决方案更为智能化——访问元素“更为自然”。