我正在使用$location.search()
获取它们,它在Object中返回它们就好了:
Object
price1: "129.95"
price2: "59.95"
quantity1: "2"
quantity2: "1"
title1: "Sodastream"
title2: "Polaryte – Óculos de Sol"
__proto__: Object
这很酷,但现在我需要对每个项目进行分组,如:
[item]
title : Sodastream
price : 129.95
quantity : 1
[item]
title : ---
price : ---
quantity : ---
我陷入了这个部分,我虽然计算了对象内部的总项目数,但是他们通过创建一个新的对象将它们分组为3组,但是没有用完。 你能帮助我吗?感谢。
答案 0 :(得分:1)
你必须写一些javascript才能做到这一点。
假设您上面的对象叫做输入
const MAX_ITEMS=9;
var outputs = [];
for (var i=1,i<MAX_ITEMS;i++) {
if (inputs["item"+i]) {
outputs.push({item: inputs["item"+i], price: inputs["price"+i],quantity: inputs["quantity"+i]})
}
}
您的数据将位于输出变量
中答案 1 :(得分:1)
由于URL中的项目数可能会有所不同,因此最好不要对任何数字进行硬编码。为此,我还假设每个项目都有3个属性 - 标题,价格和数量。
试试这个:
var numOfItems = Object.keys(input).length/3; // for example, 6 properties will mean 2 items
var output = [];
for (var i = 1; i <= numOfItems; i++) {
if (input["title"+i]) {
output.push({title: input["title"+i], price: input["price"+i],quantity: input["quantity"+i]})
}
}
输出数组应该以您指定的方式包含对象。