我需要一些帮助来操作值对数组以返回特定布局中的字符串 这是我想要实现的字符串:
'&test=id:1111|na:shoes|ca:shoe&test=id:2222|na:top|ca:tops'
这是我试图操作到我的字符串中的数组
var prodlist =
[
{
name: 'shoe',
sku: '1111',
category: 'shoes'
},
{
name: 'top',
sku: '2222',
category: 'tops'
}
]
这是我尝试过的。
我将'deleteme'添加到数组中,以为我可以在以后的脚本中替换。
function(){
var prods = prodlist;
var array = [];
for (var i = 0; i < prods.length; i++) {
var sku = (prods[i]['sku']);
var name = (prods[i]['name']);
var cat = (prods[i]['category']);
array.push({
deleteme: &test=id,
id: sku,
na: name,
ca: cat,
});
}
var newarray = array.toString();
return newarray;
}
此函数返回'[object Object],[object Object]'
任何帮助都会非常感激。
由于
答案 0 :(得分:2)
快捷方便
self.searchBar.barTintColor = UIColor.greyColor()
self.searchBar.tintColor = UIColor.greyColor()
UIBarButtonItem.appearance().tintColor = UIColor.whiteColor()
答案 1 :(得分:1)
这样的事情怎么样?
var prodlist =
[{name: 'shoe',
sku: '1111',
category: 'shoes'},
{name: 'top',
sku: '2222',
category: 'tops'}]
var strTemplate = "&test=id:%sku%|na:%name%|ca:%category%"
prodlist.map( function(obj){
return strTemplate.replace(/%(\w+)%/g, function($1, $2) {
return obj[$2]
})
}).join('')
//returns
// "&test=id:1111|na:shoe|ca:shoes&test=id:2222|na:top|ca:tops"
或ES6版本(按照nnnnnn的建议进一步编辑)
prodlist.map( obj => strTemplate.replace(/%(\w+)%/g, ($1, $2) => obj[$2])).join('')