gpt4 book ai didi

javascript - JS 对象中包含的数组嵌套两层

转载 作者:行者123 更新时间:2023-11-28 15:50:42 26 4
gpt4 key购买 nike

我正在构建一个对象数组。结构应该是这样的:

var array = [
{ 'keyword' : 'somekeyword',
'guidelines' : [ "guideline1", "guideline2", "guideline3"]
},
{ 'keyword' : 'anotherkeyword',
'guidelines' : [ "guideline1", "guideline2", "guideline3"]
}
]

相反,它是这样的:

var array = [
{ 'keyword' : 'somekeyword',
'guidelines' : [[ "guideline1", "guideline2", "guideline3"]]
},
{ 'keyword' : 'anotherkeyword',
'guidelines' : [[ "guideline1", "guideline2", "guideline3"]]
}
]

在构建对象以在指南数组上获得第二层嵌套时,我做错了什么?这是构建数组的函数,从 HTML 文件中的数据表中读取:

    $(html).find('tr').each(function() {
keywordObj = {};
guidelinesCell;
$(this).find('td').each(function() {
cellClass= $(this).attr('class');
if (cellClass === 's2') {
keywordObj.keyword = $(this).text();
} else if (cellClass === 's3' || cellClass == 's4') {
guidelinesCell = [];
guidelinesCell.push( $(this).html().split('<br>') );
//Possibly it's this push that's causing the problem?

keywordObj.guidelines = guidelinesCell;

console.log(guidelinesCell)
console.log(keywordObj.guidelines)

//At this point, the array is already nested- the console logs return eg
[Array[2]]
0: Array[2]
0: "GuidelineName1.pdf"
1: "GuidelineName2.pdf"
}
});
i ++;

if (keywordObj.guidelines && keywordObj.guidelines[0].length > 1) {

keywordsToLeitlinien.push(keywordObj);
}

});

作为引用,下面是它所读取的标记示例:

 <tr dir="ltr">
<td class="hd">
<p style="height:39px;">.</p>
</td>
<td dir="ltr" class="s2">samplekeyword</td>
<td dir="ltr" class="s4">GuidelineName.pdf <br>GuidelineName.pdf</td>
</tr>
<小时/>

编辑添加:

这不是我在此文件中处理的问题,但我最终会将此数组输出到 JSON 文件,我宁愿解决问题,也不愿继续解决此类输出:

{"keyword":"keywordname","guidelines":[["guidelineName1 ","guidelineName2"]]}

最佳答案

因为split在这里返回一个数组:

$(this).html().split('<br>')

由于您要将这个数组插入另一个数组,因此它将成为嵌套的。

相反,尝试如下:

guidelinesCell = $(this).html().split('<br>')

关于javascript - JS 对象中包含的数组嵌套两层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20731017/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com