var data= [
{
name: "productname",
id: "1356",
price: "0.00",
category: "Health",
position: "1",
list: "New Products",
stocklevel: "20",
brand: "Health"
},
{
name: "productname2",
id: "5263",
price: "0",
category: "Hair",
position: "2",
list: "New Products",
stocklevel: "",
brand: "Hair"
},
{
name: "productname3",
id: "7473",
price: "0.00",
category: "skin",
position: "3",
list: "New Products",
stocklevel: "10",
brand: "skin"
},
]
我有多个产品的资料,因为按嵌套顺序,产品可以达到 n。
但我希望这些资料以逗号分隔的值作为串列,这样我就可以让它变得友好。
像这样
Product1: "productname",
Product1Price: 0.00,
Product1id: "1356",
Product1brand: "health",
Product1stocklevel: "20",
Product2: "productname2",
Product2price: 0,
Product2id: "5263",
Product2brand: "hair",
Product2stocklevel: "",
Product3: "productname3",
Product3price: 0.00,
Product3id: "7473",
产品详细信息应显示在下一个回圈之外
我们可以使用 map 函式将键和值分开。但由于所有产品资料的格式相同,所以我对地图功能在这里的作业方式感到困惑。
先谢谢了。
uj5u.com热心网友回复:
您仍然可以使用此答案中的.map
详细信息来迭代每个属性:
var data = [{
name: "productname",
id: "1234",
price: "0.00",
category: "Health",
position: "1",
list: "New Products",
stocklevel: "20",
brand: "Health"
},
{
name: "productname2",
id: "2345",
price: "0",
category: "Hair",
position: "2",
list: "New Products",
stocklevel: "",
brand: "Hair"
},
{
name: "productname3",
id: "356anything",
price: "0.00",
category: "skin",
position: "3",
list: "New Products",
stocklevel: "10",
brand: "skin"
},
]
console.log(
data.map((e, i) => {
return Object.keys(e).map(p => `Product${i 1}${p=="name"?"":p}:"${e[p]}"`).join(",\n")
}).join(",\n")
);
添加\n
以匹配预期输出,不清楚您是希望它们在单行(逗号分隔串列)还是与示例中的不同行。
如果您不希望引号中的数字值,那么您将首先检查它们是否是数字等,因为您的原始值将它们放在引号中。
或者,如果您希望它们按特定顺序/不同的情况(您的一个示例具有 Product1Price 而不是 Product1price),那么您将必须对输出进行硬编码,如另一个答案。
uj5u.com热心网友回复:
你问的资料格式不是决议友好的!
var data = [
{
name: "productname",
id: "1",
price: "0.00",
category: "Health",
position: "1",
list: "New Products",
stocklevel: "20",
brand: "Health"
},
{
name: "productname2",
id: "2",
price: "0",
category: "Hair",
position: "2",
list: "New Products",
stocklevel: "",
brand: "Hair"
},
{
name: "productname3",
id: "3",
price: "0.00",
category: "skin",
position: "3",
list: "New Products",
stocklevel: "10",
brand: "skin"
},
]
var result = {}
data.forEach(function(e) {
var key = "Product" e.id
result[key] = e.name
result[key "Price"] = e.price
result[key "Category"] = e.category
result[key "Position"] = e.position
result[key "List"] = e.list
result[key "Stocklevel"] = e.stocklevel
result[key "Brand"] = e.brand
})
console.log('result: ', result)
var data = {
1356: {
name: "productname",
id: "1356",
price: "0.00",
category: "Health",
position: "1",
list: "New Products",
stocklevel: "20",
brand: "Health"
},
5263: {
name: "productname2",
id: "5263",
price: "0",
category: "Hair",
position: "2",
list: "New Products",
stocklevel: "",
brand: "Hair"
},
7473: {
name: "productname3",
id: "7473",
price: "0.00",
category: "skin",
position: "3",
list: "New Products",
stocklevel: "10",
brand: "skin"
}
}
// Access to any product in the data set
console.log('product 5263: ', data[5263])
// And also access to any product property directly from the dataset
console.log('product name 5263: ', data[5263].name)
// Looping through the array of goods and selecting the required fields
Object.keys(data).map(function(key) {
var product = data[key]
// Output only name and price:
console.log(product.name, ' ', product.price)
})
0 评论