javascript - 将本地存储项添加到 javascript 数组中
问题描述
再会。我正在为本地存储中的电子商务 Web 应用程序收集产品信息(购物车)。我需要将 productId 发送到 STRIPE api,但我遇到了麻烦。本地存储变量如下
window.localStorage.getItem('products')
它输出一个如下所示的数组
[{"productId":"37", "quantity":"2"}]
条带 API 需要这样的格式
var purchase = {
items: [{ id: 2235 }]
};
我想我可以通过下面的代码来完成它
var newarr = window.localStorage.getItem('products');
var purchase = {
items: []
};
for (var i in newarr) {
var item = newarr[i];
purchase.items.push({
id: item.productId
});
}
不幸的是,我做错了什么。有任何想法吗???数组和对象是我的弱点 :(
解决方案
localStorage
项目始终作为字符串存储和检索。
您需要在读取数据时将其转换为相应的对象时间。在您的情况下,您需要读取的是 JSON 对象。这应该可以解决问题
var newarr = JSON.parse(window.localStorage.getItem('products'));
如果您仍然无法获得它,JSON.stringify
请在存储之前申请数据localStorage
。
推荐阅读
- javascript - 无法在 django 中关闭消息
- nativescript - NativeScript Angular RadCalendar
- ftp - Azure 数据工厂 - FTP 链接服务中的动态主机名
- jenkins - Groovy - 超时功能
- ibm-doors - IBM Rational Doors 链接同一模块中的两个对象并将其保存到基线
- java - 将 ITestContext 属性值传递给 onTestStart 方法时传递的空值
- flutter - 如何在没有 android 和 iOS 构建文件夹的情况下创建一个颤振项目,仅用于 Web 构建?
- excel - 根据另一列中的字符串值在 Excel 中生成唯一的顺序 ID
- android - Android Studio Kotlin class.java 未解析参考
- python-3.x - /usr/bin/python3 和 /bin/python3 有什么区别