我想做的是改变一个数组,比如说,
[1,2,[3,4],17.5]
变成一种刺痛
"[1,2,[3,4],17.5]"
但不像
"1,2,3,4,17.5"
即保留所有括号。我尝试使用内置的String()函数,但这给了我"1,2,3,4,17.5“,是否有内置函数或代码片段可以用来获取"[1,2,3,4,17.5]"?
谢谢!
发布于 2013-07-25 20:17:16
您需要一个JSON字符串:
array = [1,2,[3,4],17.5];
JSON.stringify( array );
见这个问题:
Convert JS object to JSON string
不工作在IE7和更低!
发布于 2013-07-25 20:23:32
如果您不担心与其他代码之间的冲突,则可以更改Array.prototype.toString
(function () {
var arrayString = Array.prototype.toString;
Array.prototype.toString = function toString() {
return '[' + arrayString.call(this) + ']';
}
}());
[1,2,[3,4],17.5].toString();
// "[1,2,[3,4],17.5]"
发布于 2013-07-25 20:29:16
我确信,如果您不想使用json,可以创建一个简单的方法来完成此操作,如下所示:
(function toBracketedString(arr) {
if (!_.isArray(arr)) { return ""; }
var base = "[";
for (var element in arr){
base.append(","+element.toString());
}
base.append("]");
});
希望这能有所帮助
https://stackoverflow.com/questions/17867883
复制相似问题