我从客户端获取数组
var arr = [{'url':'www.google.com'},{'url':'www.fb.com'}]
我想将其分配为字符串
var urls = www.google.com,www.facebook.com
我做了但是我的索引反转如下
var urls = www.facebook.com,www.google.com
我的代码:
duis.arr(function(v,i){
urls = v.url + ','+urls;
}
有人可以建议帮忙吗?
答案 0 :(得分:4)
var arr = [{'url':'www.google.com'},{'url':'www.fb.com'}];
var urls = arr.map(url => url.url).join(',');
console.log(urls);
根据评论更新了新要求:
var arr = [{'url_name':'a','name':'b'},{'url_name':'c','name':'a'}];
var urls = arr.map(url => url.url_name).reverse().join(',');
console.log(urls);
答案 1 :(得分:1)
只需反转现有的连接并处理特殊的第一次迭代(我不知道arr
方法是什么,但是你说你得到了你想要的结果,所以) :
duis.arr(function(v,i){ // Whatever `arr` is -- I would have expected `forEach`
urls = urls ? urls + ',' + v.url : v.url;
});
或者您可以使用reduce
:
urls = duis.reduce(function(p, v) {
return p ? p + ',' + v.url : v.url;
}, '');
示例:
var duis = [{
'url': 'www.google.com'
}, {
'url': 'www.fb.com'
}];
var urls = duis.reduce(function(p, v) {
return p ? p + ',' + v.url : v.url;
}, '');
console.log(urls);
如果你必须支持像IE8这样过时的浏览器(许多人仍然这样做),那么一个简单的for
循环将是最好的:
var urls = duis[0].url;
for (var i = 1; i < duis.length; ++i) {
urls += ',' + duis[i].url;
}
答案 2 :(得分:0)
使用 https://pypi.python.org/pypi/Pillow/2.1.0 和 map :
const arr = [{'url':'www.google.com'},{'url':'www.fb.com'}];
const urls = arr.map(el => el.url).join(',')
console.log(urls) // "www.google.com,www.fb.com"
答案 3 :(得分:0)
array_filter()
和$testArray = sort(array_filter(array_unique($testArray)));
可能是一个很好的解决方案,但为了获得更好的性能,只需循环数组:
map