javascript - 当推送被认为无法识别时如何将数据推送到 JSON 对象
问题描述
该函数用于将名为 cartItemObjectArray 的 JSON 数组分发到 ComicIdArray、purchaseTypeArray 和 quantityArray。
arraySetup(cartItemObjectArray) {
var comicIdArray = [];
var purchaseTypeArray = [];
var quantityArray = [];
for (let i in cartItemObjectArray) {
comicIdArray = JSON.parse(localStorage.getItem("a_comic"));
purchaseTypeArray = JSON.parse(localStorage.getItem("a_purchase"));
quantityArray = JSON.parse(localStorage.getItem("a_quantity"));
var comicId = cartItemObjectArray[i].comicid;
var purchaseType = cartItemObjectArray[i].purchasetype;
var quantityadded;
if (comicIdArray == null) {
comicIdArray.append(comicId);
purchaseTypeArray.push(purchaseType);
quantityArray.push(1);
localStorage.setItem("a_comic", JSON.stringify(comicIdArray));
localStorage.setItem("a_purchase", JSON.stringify(purchaseTypeArray));
localStorage.setItem("a_quantity", JSON.stringify(quantityArray));
} else {
for (let index in cartItemObjectArray) {
if (
comicId == comicIdArray[index] &&
purchaseType == purchaseTypeArray[index]
) {
quantityadded = quantityArray[index];
quantityArray[index] = quantityadded + 1;
localStorage.setItem("a_quantity", JSON.stringify(quantityArray));
} else {
comicIdArray.push(comicId);
purchaseTypeArray.push(purchaseType);
quantityArray.push(1);
localStorage.setItem("a_comic", JSON.stringify(comicIdArray));
localStorage.setItem(
"a_purchase",
JSON.stringify(purchaseTypeArray)
);
localStorage.setItem("a_quantity", JSON.stringify(quantityArray));
}
}
}
}
}
该方法由
this.arraySetup(JSON.parse(localStorage.getItem("cartitem")));
在 LocalStorage 中,cartItemObjectArray 看起来像这样
[{comicid: "5f55e8f771b808206c132d7b", purchasetype: "pb_single"},…]
0: {comicid: "5f55e8f771b808206c132d7b", purchasetype: "pb_single"}
1: {comicid: "5f55e91271b808206c132d7c", purchasetype: "pb_single"}
拜托,我是 React 和 Js 的初学者,我真的需要你的帮助。非常感谢提前
解决方案
推荐阅读
- java - 从回收站视图中单击时,新活动仅显示数组列表的最后一个元素 - 不知道出了什么问题
- maven - Liquibase:以不同的用户身份在更改日志中执行更改集
- reactjs - React typescript - 元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型
- python - 时间序列数据集训练测试拆分 ML
- python - 如何在 Pyspark 中对数组列的每个元素的出现次数进行分组和计数
- mysql - 如何根据相关列连接两个 MySQL 表中的行
- java - Java:为什么派生类可以看到父类方法?
- html - 如何根据浏览器大小使图像上的文本调整大小
- reactjs - React JS React Query 的 useMutation:无法在 onError 回调中从服务器检索响应
- macos - 如何从 Mac OS (Catalina) 中的“其他”存储中删除文件?