javascript - 如何使用匹配数组中的每个元素来创建对象?
问题描述
我会构建这个对象结构:
{ product:'example1', description: 'description1', price: 123 }
并且更多的数组有,它会增加。
[
{ product:'example1', description: 'description1', price: 123 },
{ product:'example2', description: 'description2', price: 123 },
{ product:'example3', description: 'description3', price: 123 },
]
我有三个用于迭代的数组,需要匹配你的索引,比如
{"products":elem[0], "description": description[0], "price": price[0]}
我试过这个:
let products = ['Master','Luxe','Simple'];
let ob = []
products.forEach((elem) => {
let price = ['200','340','203'];
let description = ['bla2','bla3','bla4'];
ob.push({"products":elem, "description": description, "price": price});
description
但它在and中创建了一个数组price
,我想关联每个元素索引,
但我卡住了。任何人都可以帮助我吗?
解决方案
forEach 的第二个参数是当前索引。您只需将其传入以按索引选择其他数组元素。例如:
let price = ['200','340','203'];
let description = ['bla2','bla3','bla4'];
products.forEach((elem, index) => {
ob.push({"products":elem, "description": description[index], "price": price[index]});
})
请注意,如果价格或描述数组的元素较少,这将中断,因此包含检查以确保 array.length 足够大可能是明智之举。
推荐阅读
- ffmpeg - 错误:未找到 FFMPEG
- c# - 更改其背景颜色时返回空单元格
- powershell - 从 powershell 在 IBM Notes 中创建新电子邮件时处理参数时遇到问题?
- macos - 带引号的 AppleScript Google 搜索
- sapui5 - 如何将 SAP HANA 表与 SAPUI5 连接
- php - PrestaShop:使用 ObjectModel 保存 MultiSelect
- debugging - Verilog 中的测试台产生错误,说明真实表达式被滥用
- r - 如何找到变量之间的重复项?
- python - Python:点积形状不对齐?
- haskell - 我们什么时候在 Haskell 中使用 newtype?