【发布时间】:2019-09-11 17:35:40
【问题描述】:
我确信这很容易,但是我的搜索还没有帮助。
当我将一个数组推入另一个数组时,它们会嵌套更深一层。第一个数组位于正确的深度。
var productArray = [{productID: currentProduct, productPrice: currentPrice, productName: productName, options: myOptions}];
if(localStorage.getItem("cart")){
var existingArray = JSON.parse(localStorage.getItem("cart"));
existingArray.push(productArray);
localStorage.setItem("cart", JSON.stringify(existingArray));
} else {
localStorage.setItem("cart", JSON.stringify(productArray));
}
结果:
0: Object { productID: "1", productPrice: "2.00", productName: "Chicken Sandwich", … }
1: 0: Object { productID: "1", productPrice: "2.00", productName: "Chicken Sandwich", … }
2: 0: Object { productID: "1", productPrice: "2.00", productName: "Chicken Sandwich", … }
【问题讨论】:
-
这就是假定会发生的事情,你为什么要不然呢?
-
-
@jonrsharpe 从第 2 个数组开始,数组要深 1 级。
-
@M_Becker
concat不修改任何一个数组;它返回一个 new 数组。您可能希望将其存储为新变量,即var newArray = array1.concat(array2),其中newArray是array1和array2的合并结果。 -
@TylerRoper ... 工作。我今天学到了新东西,谢谢!您想将其作为答案提交,以便我将其标记为已解决吗?
标签: javascript arrays multidimensional-array