我需要将对象转换为多个数组,没有重复的键,如果有一个由“user_”或“city_”组成的键,则创建新数组。 前三个 props/key 总是相同的。
例如
const test = {
"mainPoint": "user1",
"create_Date": "2018-04-23 16:51:10",
"delete_Date": "2018-04-23 16:50",
"user_one": 4,
"user_two": 4,
"city_one": bs,
"city_two": mi
}
对此:
['user1','2018-04-23 16:51:10','2018-04-23 16:50','user_one',4]
['user1','2018-04-23 16:51:10','2018-04-23 16:50','user_two',4]
['user1','2018-04-23 16:51:10','2018-04-23 16:50','city_one','bs']
['user1','2018-04-23 16:51:10','2018-04-23 16:50','city_two','mi']
这是我的代码
let tempArr = [];
for(let key in test){
tempArr = [];
if(key.indexOf("user_") !== -1 || key.indexOf("city_") !== -1){
tempArr.push(test['mainPoint']);
tempArr.push(test['create_Date']);
tempArr.push(test['delete_Date']);
tempArr.push(key);
tempArr.push(test[key]);
}
console.log(tempParams);
}
感谢您的帮助!
最佳答案
您只是没有使用 tempParams
对每个数组进行分组
const test = {
"mainPoint": "user1",
"create_Date": "2018-04-23 16:51:10",
"delete_Date": "2018-04-23 16:50",
"user_one": 4,
"user_two": 4,
"city_one": "bs",
"city_two": "mi"
};
let tempParams = [];
for (let key in test) {
tempArr = [];
if (key.indexOf("user_") !== -1 || key.indexOf("city_") !== -1) {
tempArr.push(test['mainPoint']);
tempArr.push(test['create_Date']);
tempArr.push(test['delete_Date']);
tempArr.push(key);
tempArr.push(test[key]);
tempParams.push(tempArr);
}
}
console.log(JSON.stringify(tempParams));
关于Javascript:通过排序将对象转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49997604/