我有类似的东西:

    var valueToPush = new Array();
    valueToPush["productID"] = productID;
    valueToPush["itemColorTitle"] = itemColorTitle;
    valueToPush["itemColorPath"] = itemColorPath;

    cookie_value_add.push(valueToPush);

结果是[];

我做错了什么?

最佳答案

数组在JavaScript中必须具有从零开始的整数索引。所以:

var valueToPush = new Array();
valueToPush[0] = productID;
valueToPush[1] = itemColorTitle;
valueToPush[2] = itemColorPath;
cookie_value_add.push(valueToPush);

或者,也许您想使用对象(关联数组):
var valueToPush = { }; // or "var valueToPush = new Object();" which is the same
valueToPush["productID"] = productID;
valueToPush["itemColorTitle"] = itemColorTitle;
valueToPush["itemColorPath"] = itemColorPath;
cookie_value_add.push(valueToPush);

等效于:
var valueToPush = { };
valueToPush.productID = productID;
valueToPush.itemColorTitle = itemColorTitle;
valueToPush.itemColorPath = itemColorPath;
cookie_value_add.push(valueToPush);

这是每个JavaScript开发人员都必须理解的JavaScript数组和JavaScript对象(它们是关联数组)之间的真正根本和至关重要的区别。

关于javascript - JavaScript推送多维数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7880257/

10-12 04:34