场景
我想将产品信息推送到Google Merchant Center。
我要得到的东西
"products": ['{"gtin":"5704378978422"}', '{"gtin":"5704378978057"}']
我想要得到的东西
每个数组成员的单引号都不采用以下格式:
"products": [{"gtin":"GTIN1"}, {"gtin":"GTIN2"}]
如此处第3步所述:https://support.google.com/merchants/answer/7519329
我的Google跟踪代码管理器设置
代码:
function() {
var products = {{DLV - ecommerce.purchase.products}};
return products.reduce(function(arr, prod) {
return arr.concat("{" + '"' + "gtin" + '"' + ":" + '"' + prod.gtin + '"' + "}" ); }, []);
}
什么是最好的方法
我是JavaScript的新手,非常感谢您提出的任何意见和建议
答案 0 :(得分:1)
您是说要这个吗?
const product = ['{"gtin":"5704378978422"}', '{"gtin":"5704378978057"}']
const newProduct = product.map(row => JSON.parse(row))
console.log(newProduct)
答案 1 :(得分:0)
通过使用concat
函数,您正在创建字符串连接,而不是对象。
您可能应该使用map
而不是reduce
。像这样:
function() {
var products = {{DLV - ecommerce.purchase.products}};
return products.map(function(prod) {
return {"gtin": prod.gtin};
});
}