ali*_*ali 14 javascript string associative-array join
我现在正试图这样做,我想知道是否有一个"最常用"的方法将一个关联数组(它的值)连接成一个由字符分隔的字符串.
例如,我有
var AssocArray = { id:0, status:false, text:'apple' };
Run Code Online (Sandbox Code Playgroud)
连接此对象的元素所产生的字符串将是
"0, false, 'apple'" or "0, 0, 'apple'"
Run Code Online (Sandbox Code Playgroud)
如果我们用","字符加入他们任何想法?谢谢!
ale*_*lex 23
Object.keys(AssocArray).map(function(x){return AssocArray[x];}).join(',');
Run Code Online (Sandbox Code Playgroud)
PS:Object.values某处有方法,但它不是标准.还有外部库hashish.
只需循环遍历数组.JavaScript中的任何数组都有索引,甚至是关联数组:
var AssocArray = { id:0, status:false, text:'apple' };
var s = "";
for (var i in AssocArray) {
s += AssocArray[i] + ", ";
}
document.write(s.substring(0, s.length-2));
Run Code Online (Sandbox Code Playgroud)
将输出: 0, false, apple
的功能的实现一样Object.map,Object.forEach等仍在讨论之中.现在,你可以坚持这样的事情:
function objectJoin(obj, sep) {
var arr = [], p, i = 0;
for (p in obj)
arr[i++] = obj[p];
return arr.join(sep);
}
Run Code Online (Sandbox Code Playgroud)
编辑:使用临时数组并加入它而不是字符串连接以提高性能.
编辑2:在大多数最近的浏览器中,似乎arr.push(obj[p]);不是递增计数器实际上更快.看评论.
| 归档时间: |
|
| 查看次数: |
16971 次 |
| 最近记录: |