87,922
社区成员
发帖
与我相关
我的任务
分享
var obj = {"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试"}; var arr = [{TT:obj.TT,BB:obj.BB},{TT:obj.TT1,BB:obj.BB1}];
var obj = {"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试"};
var reg = /(TT|BB)(\d*)/;
var res = [];
var temp = {};
for(var p in obj){
var match = p.match(reg);
if(match){
var num = match[2];
var tempKey = 'TT'+num + 'BB' + num;
if(!temp[tempKey]){
temp[tempKey] = {};
}
temp[tempKey][match[1]] = obj[p];
}
}
for(var p in temp){
res.push(temp[p]);
}
emmmm,上面忘记把属性名后面点数字去掉了。要加字段的话就在reg第一个括号里加。
比如以后还要加一个CC那就改成
var reg = /(TT|BB|CC)(\d*)/;
var obj = {"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试"};
var reg = /(?:TT|BB)(\d*)/;
var res = [];
var temp = {};
for(var p in obj){
var match = p.match(reg);
if(match){
var num = match[1];
var tempKey = 'TT'+num + 'BB' + num;
if(!temp[tempKey]){
temp[tempKey] = {};
}
temp[tempKey][match[0]] = obj[p];
}
}
for(var p in temp){
res.push(temp[p]);
}
var d = { "TT": "abac", "BB": "电工电子产品", "TT1": "xxxxxx", "BB1": "测试" }
var nd = []
for (i = 0; i < 100; i++) {
if (d['TT' + (i ? i : '')]) nd.push({ TT: d['TT' + (i ? i : '')], BB: d['BB' + (i ? i : '')]||'' });
}
console.log(nd)
var j={"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试"};
var j1=[];
j1.push(j);
var obj = {"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试",'wx':'键名不可控',wx1:'键名不可控1'};
var arr = [];
JSON.stringify(obj).replace(/"([a-z]+)(\d+)?":"(.*?)"/ig, function (s, k, i, v) {
i = i ? i : 0;
(arr[i]||(arr[i] = {}))[k] = v;
});
console.log(arr);
var t = {"TT":"abac","BB":"电工电子产品","TT1":"xxxxxx","BB1":"测试",'TT2':'yyyy','BB2':'test'}
var tt = [{}];
for(var i in t){
var exists = false
for (var j in tt[0])
{
if (new RegExp('^'+j+'\\d+$','g').test(i))
{
if (!tt[parseInt(i.replace(new RegExp('^'+j,'g'),''))])
{
tt[parseInt(i.replace(new RegExp('^'+j,'g'),''))]={}
}
tt[parseInt(i.replace(new RegExp('^'+j,'g'),''))][j]=t[i];
exists = true;
}
}
if (!exists)
{
tt[0][i] = t[i];
}
}
console.log(tt)