javascript - 在循环中创建对象属性
问题描述
我想在这个循环中创建新的对象属性。
喜欢
这就是我想要实现的
response.product.product.0
response.product.product.0.quantity
response.product.product.0.id
response.product.product.0.description
response.product.product.1
response.product.product.1.quantity
response.product.product.1.id
response.product.product.1.description
依此类推,对于循环的每次迭代,我都需要创建新属性。但是迭代是随机的,它可以在 1 到 4 次迭代之间......
for (let i = 0; i < Math.floor(Math.random() * 4); i++) {
const salesOrderItem = await createItem(OBJECT_ID, csfrToken, cookies,
validProducts.pop())
const PRODUDUCT_DESCRIPTION = salesOrderItem.data.d.results.Description
const PRODUCT_ID = salesOrderItem.data.d.results.ProductID
const PRODUCT_QUANTITY = Math.trunc(salesOrderItem.data.d.results.Quantity)
response['product' + i] = PRODUCT_ID
response['productDescription' + i] = PRODUDUCT_DESCRIPTION
response['productQuantity' + i] = PRODUCT_QUANTITY
}
这是我到目前为止得到的,但它不是我想要的
解决方案
尝试这个:
response = {product:{product:{} }}
for (let i = 0; i < Math.floor(Math.random() * 4); i++) {
const salesOrderItem = await createItem(OBJECT_ID, csfrToken, cookies,
validProducts.pop())
const PRODUDUCT_DESCRIPTION = salesOrderItem.data.d.results.Description
const PRODUCT_ID = salesOrderItem.data.d.results.ProductID
const PRODUCT_QUANTITY = Math.trunc(salesOrderItem.data.d.results.Quantity)
response.product.product[i] = {};
response.product.product[i]['id'] = PRODUCT_ID
response.product.product[i]['quantity'] = PRODUCT_QUANTITY
response.product.product[i]['description'] = PRODUDUCT_DESCRIPTION
}
推荐阅读
- c# - AdobeSign:获取签名 URL 正在返回 NOT_FOUND 响应
- postgresql - Docker 在错误的数据库中构建模式
- javascript - Cucumber-js 未定义步骤参考使用 IntelliJ IDEA - Ultimate Edition
- uwp - 如何调整 ContentDialog 的大小以使用活动窗口中的大部分空间
- bioinformatics - 转换为 BCF 之前的 vcf 文件修改
- cmake - 无法构建仅针对 compile-rt(无 libgcc)链接的带有内存清理工具的 libc++?
- javascript - 开玩笑的覆盖以一种奇怪的方式仅缺少 if 条件行 - 为什么以及如何修复
- javascript - 寻找有关将 Parceljs 与 Backbone.js 一起使用的建议
- python-3.x - Python asyncio sleep 没有唤醒
- c++ - 如何使自定义 C++ 类成为 QML 类型?