我有一个父数组 lines = []
并在 lines.push(data);
中包含许多对象。在我的节点应用程序中,数据是逐行读取的。
每当找到 \
斜杠字符时,我就会分割每一行。然后将行更改为对象 data = {}
和属性 data.marker;数据.值; data.children
等等。现在,当找到包含多个 \
斜杠字符的行时,我希望 data.children
成为对象的子数组。
这是split()
[ 'ft Some older versions read, ',
'fqa And we are writing these things to you so that your joy will be complete. ',
'fqb ',
'f*' ]
这是我要转换为 data.children
数组的代码
data.children = [];
//object for child
var obj = {};
for (var j=0; j<childArr.length; j++) {
obj.marker = childArr[j].split(" ")[0] ;
obj.value = childArr[j].substr(childArr[j].indexOf(' ')+1) ;
}
data.children.push(obj);
现在当我检查console.log(data.children)
时,这就是我得到的
[ { marker: 'f*', value: 'f*' }]
而不是我需要的是
[ { marker: 'ft' , value: 'Some older versions read,' },
{ marker: 'fqa', value: 'And we are writing these things to you so that your joy will be complete.' },
{ marker: 'fqb', value: 'null' },
{ marker: 'f*', value: 'null' },]
我确信当我将数据插入子数组时会遇到一些麻烦。任何帮助将不胜感激!提前致谢。
最佳答案
这是我需要的正确答案。很抱歉最近才发布它,并感谢您的所有努力。谢谢。
data.children = [];
var childArr = [ 'ft Some older versions read, ',
'fqa And we are writing these things to you so that your joy will be complete. ',
'fqb ',
'f*' ];
var data = {};
data.children = [];
for (var j = 0; j < childArr.length; j++) {
let split = childArr[j].split(" ");
data.children.push({
marker: split[0],
value: ((split[1] == "" ||split[1] == undefined) ? null : split.slice(1).join(" "))
});
}
console.log(data.children);
关于javascript - 将对象的子数组插入父数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42623454/