angularjs-将对象值从数组转换为字符串
angularjs - Convert object values from array to string
我在js中遇到了一些对象、json等问题。如果有人能帮我做点什么,那就太棒了!:)
我有一个对象,我不能改变,像这样:
{
"page": [
"POST",
"DELETE"
],
"news": [
"PUT"
]
}
我想转换成这样:
{
"page": "POST, DELETE",
"news": "PUT"
}
所以我希望对象值(数组)是字符串,我也尝试过从互联网上获得的toString()、string(),JSON.stringify和其他方法(也许我做得不对),但都不适用于我,我对处理这些类型的数据有点陌生,所以如果有人能帮我,TKS!!:D
编辑:
在这种情况下,我得到了这样的结构:
{
"page": {
"POST": [
"POST"
],
"PUT": 122
},
"news": {
"PUT": [
"PUT"
]
}
}
我如何转换为类似:
{
"page": "POST, PUT:122",
"news": "PUT"
}
如果您想修改初始对象-使用Object.keys
和Array.forEach
函数就足够了:
var obj = {
"page": [
"POST",
"DELETE"
],
"news": [
"PUT"
]
};
Object.keys(obj).forEach(function(k) {
obj[k] = obj[k].join(",");
});
console.log(JSON.stringify(obj, 0, 4));
另一个复杂案例的附加解决方案:
var obj = {
"page": {
"POST": [
"POST"
],
"PUT": 122
},
"news": {
"PUT": [
"PUT"
]
}
};
Object.keys(obj).forEach(function (k) {
var innerKeys = Object.keys(obj[k]), items = [];
innerKeys.forEach(function(key) {
items.push((Array.isArray(obj[k][key]))? key : key + ":" + obj[k][key]);
});
obj[k] = items.join(",");
});
console.log(JSON.stringify(obj, 0, 4));
假设您的对象总是将数组作为属性值,您可以使用下面的之类的javascript来实现这一点
var obj = {
"page": [
"POST",
"DELETE"
],
"news": [
"PUT"
]
};
for (var o in obj) {
if (obj.hasOwnProperty(o)) {
obj[o] = obj[o].join(", ");
}
}
console.log(obj);
好的,这样您就可以使用var str = array.join(stringThatIsSupposedToBeInbetweenTheValues);
将数组的所有值添加到字符串中(连接它们)。所以在你的情况下,这将是array.join(', ');
。请注意,这个字符串只放在单个值之间,而不是放在它们周围(在结果的开头或结尾)。点击此处了解更多信息。
我希望这能有所帮助!
有很多方法可以做到这一点。只需要在对象上循环并将数组设置为字符串。
var obj = {
"page": [
"POST",
"DELETE"
],
"news": [
"PUT"
]
};
Object.keys(obj).reduce( function (o, key) {
o[key] = o[key].join(", ");
return o;
}, obj);
console.log(obj);
使用forEach可能是有意义的,但减少工作量。
您可以这样做;
var o = {
"page": [
"POST",
"DELETE"
],
"news": [
"PUT"
]
},
p = Object.keys(o).reduce((p,k) => (p[k] = o[k]+"",p),{});
console.log(p);
相关文章:
- 如何使用JQuery在Javascript中转换字符串中的HTML元素
- 将JSON插入MongoDB中,自动转换字符串中的日期
- 以点表示法转换字符串以获取对象引用
- 在 JavaScript 中转换字符串 11/28/2014 11:00 AM 到现在
- 为什么在主干的字符串数组中转换字符串数组
- 如何简单地转换字符串
- AngularJS如何转换字符串“;yyyyMMdd”;迄今为止
- 如何防止htmlspecialchar(PHP)转换字符串中的整数
- 刷新Aurelia中的i18n转换字符串插值
- 发布时禁用转换字符串
- 转换字符串货币
- 在javascript ajax调用中转换字符串到数组
- 转换字符串包含时间到24小时的时间,我可以做数学与- jQuery
- IE javascript引擎在转换字符串到日期时呈现NaN
- 如何转换字符串“a,b,c,d……”成a.b (c, d . .);来执行
- 如何在javascript中转换字符串到日期格式
- 如何在嵌套数组中转换字符串数组
- 在javascript中转换字符串日期
- 转换字符串在印度格式的javascript
- Javascript转换字符串到数组的对象