如何在javascript中访问for循环中的对象属性?

我找不到任何能够清楚地解释错误和我应该做什么的事情.

我有这个数组:

const pages = [
{ 
    url: "/",page: 'pages/home.html',title: "Home" },{ 
    url: "/recordings",page:'pages/recordings.html',title: "Recordings" },{ 
    url: "/editions",page: 'pages/editions.html',title: "Editions" },{ 
    url: "/videos",page: 'pages/videos.html',title: "Videos" },]

我正试图用for循环遍历它. page.url在控制台中返回“undefined”.但“测试URL”控制台日志按预期返回一个url字符串.为什么?我该怎么办?我想在页面循环中使用page.url.

console.log("Pages: " + pages)
console.log("Test URL: " + pages[1].url)
for (page in pages) {

    console.log("Page: " + page)
    console.log("Page URL: " + page.url)
}

解决方法

您可以使用 for ... of statement,使用 for ... in statement获取数组的元素而不是索引.

const pages = [{ url: "/",{ url: "/recordings",page: 'pages/recordings.html',{ url: "/editions",{ url: "/videos",title: "Videos" }];

for (var page of pages) {
    console.log("Page: " + page.page);
    console.log("Page URL: " + page.url);
}
.as-console-wrapper { max-height: 100% !important; top: 0; }

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...