数组操作到新的数组对象中
array manipulation into new array object
我有一个混乱的数组,它来自其他地方,其中:
["person: John, Comment:, id_number:1, he is a guitar player","person: James, Comment:, id_number:38, James remark goes here"]
我怎样才能进入这个
[
{name:"John",id_number:1,Comment:"he is a guitar player"},
{name:"James",id_number:38,Comment:"James remark goes here"}
]
这样做:
var arr = ["person: John, Comment:, id_number:1, he is a guitar player","person: James, Comment:, id_number:38, James remark goes here"];
var newArr = [];
for (var i = 0; i < arr.length; i++) {
var thisPart = arr[i].split(',');
newArr.push(
{
name:thisPart[0].replace('person: ',''),
id_number:thisPart[2].replace(' id_number:',''),
Comment:$.trim(thisPart[3])
}
);
};
console.log(newArr);
如果它们的顺序不总是正确的,你可以变得更花哨,并尝试搜索出你想要的值。
它在这里工作:http://codepen.io/caleboleary/pen/bENGbx
祝你好运!
以下是如何使用.map
和RegExp转换数据的示例
["person: John, Comment:, id_number:1, he is a guitar player","person: James, Comment:, id_number:38, James remark goes here"].map(e => {
var m = e.match(/^person: ([^,]+), Comment:, id_number:([^,]+), (.*)$/);
return {"person": m[1], "id_number": +m[2], "Comment": m[3]};
});
// [
// {"person": "John", "id_number": 1, "Comment": "he is a guitar player"},
// {"person": "James", "id_number": 38, "Comment": "James remark goes here"}
// ]
我不能保证这将适用于API的所有输出,因为它正在生成错误的输出,实际上修复应该在源
联系API所有者
相关文章:
- 将数组对象传递到struts2中的操作类
- 如何使用jquery返回php-json数组对象
- 从其名称获取javascript数组对象
- 值未与数组对象绑定
- 如何按数组/对象值的倍数过滤对象数组
- 在表中显示数组对象
- 在数组对象中分组
- 将第二个或多个数组推送到数组对象 AngularJS 中
- 重新排列 JavaScript 数组/对象
- 键上的javascript数组对象过滤器
- handontable:在不更改数据数组/对象的情况下隐藏某些列
- 用于跟踪购物车可用性的Javascript数组/对象/哈希表
- 重建有角度的java脚本数组对象
- 对JSON数组对象进行排序
- 连接与数组对象相关的文本:方式和位置
- 哪些浏览器和版本支持将常见的类数组对象直接传递到fn.apply()
- 如何使用Handlebars循环数组对象和模板
- 是否可以引用JS数组/对象中的另一个元素
- Javascript中的名称索引-数组/对象
- 数组长度不等于数组对象