我正在尝试使用for循环遍历链接列表,并将有关所述链接的信息添加到对象中。
我已经成功地在for循环中使用数组访问将一个空对象添加到我已经存在的对象中:
for(let i = 0; i < linksHTML.length; i++) {
//Add new obj to pageInfo.links
pageInfo.links["link" + i] = '';
}
返回:
pageInfo = {
currentPageURL: "https://www.volkswagen.fr/fr.html",
links: {link0: "", link1: "", link2: ""...
}
}
然而,我正在努力为新对象添加属性,如下所示:
for(let i = 0; i < linksHTML.length; i++) {
//Add new obj to pageInfo.links
pageInfo.links["link" + i] = '';
//Add properties to newly created object
pageInfo.links["link" + i].target = linksHTML[i].baseURI;
}
let pageInfo = {
currentPageURL: window.location.href,
links: {}
}
let linksHTML = document.getElementsByTagName("link");
for(let i = 0; i < linksHTML.length; i++) {
//Add new obj to pageInfo.links
pageInfo.links["link" + i] = '';
//Add properties to newly created object
pageInfo.links["link" + i].target = linksHTML[i].baseURI;
}
我期待着看到
pageInfo = {
currentPageURL: "https://www.volkswagen.fr/fr.html",
links: {
link0: {
target: "https://www.volkswagen.fr/fr.html/somepage"
}
}
}
但是,输出是
pageInfo = {
currentPageURL: "https://www.volkswagen.fr/fr.html",
links: {link0: "", link1: "", link2: ""... <-- Empty object with no new target property
}
}
发布于 2019-06-12 03:29:44
在执行pageInfo.links["link" + i] = '';
时,您将赋值一个字符串,而不是一个对象。使用{}
而不是''
https://stackoverflow.com/questions/56550552
复制相似问题