【发布时间】:2016-10-05 05:06:09
【问题描述】:
我有以下对象
var myObject = {
first:{
key1:'value1',
key2:'value2',
key3:'value3',
key4:'value4',
},
second:{
key1:'value1',
key2:'value2',
key3:'value3',
},
third:{
key1:'value1',
key2:'value2',
key3:'value3',
key4:'value4',
key5:'value5',
}
}
如您所见,值 (value1, value2, value3,...) 用单引号括起来,但实际上这不是字符串值,它可以有数字值。我的目标是使用循环将此值(value1,value2,value3,...)转换为字符串。我已经尝试过forEach loop,但它不起作用。你有什么想法吗???
--编辑--
我的一些对象又生了这样的孩子
var myObject = {
first:{
key1:'value1',
key2:'value2',
key3:'value3',
key4:'value4',
},
second:{
child1:{
key1:'value1',
key2:'value2',
key3:'value3',
key4:'value4',
},
child2:{
key1:'value1',
key2:'value2',
key3:'value3',
key4:'value4',
}
},
third:{
key1:'value1',
key2:'value2',
key3:'value3',
key4:'value4',
key5:'value5',
}
}
我也想将它们转换为字符串。我应该做些什么改变?
在 Angular js 中我是这样做的
angular.forEach(abc, function(value, key){
angular.forEach(abc[key], function(v, k){
if(typeof abc[key][k]==='object'){
angular.forEach(abc[key][k], function(v1, k1) {
abc[key][k][k1] = String(abc[key][k][k1]);
});
}else{
abc[key][k] = String(abc[key][k]);
}
});
});
但是在纯 Javascript 中我该如何实现呢?
【问题讨论】:
-
“但实际上这不是字符串值” 什么意思?价值观是什么?
-
请向我们展示两件事:1)您希望我们转换的实际数据的示例。 2) 你试过的代码。
-
没有任何引号的数字
-
您尝试将
Number转换为String的原因是什么? -
@RushiAyyappa 转换为 JSON 并返回几乎总是一个低效的解决方案。
标签: javascript arrays object foreach