我需要将完整的字符串转换为数组,对象组合。 例子
let string = {'user-0-residences-0-pincode': 678987};
// Expecting output will be
{
user: [
{
residences: [
{
pincode: 678987
}]
}]
}
答案 0 :(得分:0)
目前尚不清楚您在做什么,但似乎您正在使用“ -0-”作为分隔符。像这样工作。
let string = {'user-0-residences-0-pincode': 678987};
let result = []
for (str in string) {
result.push(str.split('-0-'))
}
答案 1 :(得分:0)
//预期输出为{用户:[ { 住所:[ { 密码:678987 }] }]
您的结果看起来不正确...
我认为您想解析一个字符串:"user-0-residences-0-pincode-678987"
您可以这样做:
var string = "user-0-residences-0-pincode-678987";
var arr = string.split("-");
var result = {};
for (var i = 0; i < arr.length; i+=2) {
result[arr[i]] = arr[i + 1];
}
console.log(result);
答案 2 :(得分:0)
根据您的要求,您可以尝试以下代码
let string = { "user-0-residences-0-pincode": 678987 };
let output = null, temp;
Object.keys(string)[0]
.split("-0-")
.reverse()
.forEach(val => {
if (output === null) {
output = {};
output[val] = Object.values(string)[0];
} else {
temp = [];
temp.push(output);
output = {}
output[val] = temp;
}
});
console.log(output);