如何在数组中设置对象?

tho*_*yer 1 javascript jquery

我有很多细节.我想将它们堆叠在一个数组中,我可以这样做吗?

detailObj = {

    textDetail: "hello this is my text!",
    id: "tooltip_businessDetails"

};

var idArray[0] = detailObg;
Run Code Online (Sandbox Code Playgroud)

T.J*_*der 7

是:

var idArray = [
    {
        textDetail: "hello this is my text!",
        id: "tooltip_businessDetails"
    },
    {
        textDetail: "another",
        id: "anotherid"
    },
    // ...and so on
];
Run Code Online (Sandbox Code Playgroud)

或者,如果您已经有变量指向它们:

var idArray = [detailObj, anotherDetailObj, yetAnotherDetailObj];
Run Code Online (Sandbox Code Playgroud)

您也可以在创建数组后动态执行此操作:

var idArray = [];
idArray.push(detailObj);
idArray.push({
    textDetail: "another",
    id: "anotherid"
});
idArray.push(yetAnotheretailObj);
Run Code Online (Sandbox Code Playgroud)

你可以按照你想要的方式做到,只需稍加改动:

var idArray = [];
idArray[0] = detailObj;
idArray[1] = anotherDetailObj;
Run Code Online (Sandbox Code Playgroud)

无论何时设置数组元素,数组的length属性都会更新为比您设置的元素大一个(如果设置idArray[2],则length变为3).

请注意,JavaScript数组是稀疏的,因此您可以在idArray[52]不创建0直通条目的情况下进行分配51.事实上,JavaScript数组根本不是真正的数组.