我正在寻找对数组中的每个键执行encodeURIComponent
(或其他函数)的最佳实践,然后再将其连接到一个字符串。
可以使用这样的循环来完成:
var dynamicArray = ['uri1', 'uri2', 'hax&%hax'];
var max = dynamicArray.length,
i,
url = '';
for (i=0;i<max;(i++))
{
url += '/' + encodeURIComponent(dynamicArray[i]);
}
alert(url);
/* RESULT: /uri1/uri2/hax%26%25hax */
但是我正在寻找这样的东西(没有循环):
encodeURIComponent(dynamicArray).join('/'); /* This won't work */
encodeURIComponent(dynamicArray.join('/')); /* Can't do this, wrong result */
最佳答案
dynamicArray.map(encodeURIComponent).join('/');
检出MDC对于不兼容平台的
map
实现。当然,在内部,
map
的实现中存在一个循环。关于javascript - 无数组循环中每个键的执行功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6214490/