将变量插入JavaScript中的对象名称

发布于 2025-02-08 12:00:56 字数 1059 浏览 2 评论 0原文

如果您查看下面发布的JSON,我有几个名为Row0,Row1,Row2等的对象...

我在下面进一步发布的代码工作,但不按预期发布。问题在于以下行:

for (let key in movies.row1) {

我硬编码row1,但我真的想实现的是row1,然后row2,然后row3等...

因此,我想将i的值插入词行之后的对象的名称中...

Movie.Rowi< ---我需要成为一个变量而不是字母i。

我尝试了谷歌搜索和stackoverflow的一些猜测。另外,尝试传播操作员之类的东西。

  function display_all_movies(movies) {

    for (i = 0; i < movies.row_count.count; i++) {

    for (let key in movies.row1) {

       document.getElementById("moviesList").innerHTML += `Key: ${key}` + `Value: ${movies.row1[key]}` + '<br>';

    }
  }
}

电影是JSON格式的对象,已验证。电影JSON如下:

{"row0" : {"title":"Avengers","imgName":"Avengers.jpeg","addedBy":"MrCoolDude","stars":"4"},"row1" : {"title":"Spiderman","imgName":"Spiderman.jpeg","addedBy":"TheNumber2Dude","stars":"5"},"row2" : {"title":"Conair","imgName":"conair.png","addedBy":"Eagleuser","stars":"3"}, "row_count" : {"count" : "4"},"row3" : {"title":"Robin","imgName":"Robin.jpeg","addedBy":"UserBatman","stars":"4"}}

If you look at the JSON posted further below, I have several objects named row0, row1, row2 etc...

The code I posted further below works but not as intended. The problem lies with the following line:

for (let key in movies.row1) {

I hard coded row1 but I really want to achieve is row1 then row2 then row3 etc...

So I want to insert the value of i into the name of the object after the word row...

movies.rowi <--- i needs to be a variable not the letter i.

I tried a few guesses from googling and stackoverflow like movies.row${[i]} but nothing worked. Also, tried spread operator something like movies.row[1...6] but its invalid.

  function display_all_movies(movies) {

    for (i = 0; i < movies.row_count.count; i++) {

    for (let key in movies.row1) {

       document.getElementById("moviesList").innerHTML += `Key: ${key}` + `Value: ${movies.row1[key]}` + '<br>';

    }
  }
}

movies is an object in JSON format, which is validated. Movies JSON is as follows:

{"row0" : {"title":"Avengers","imgName":"Avengers.jpeg","addedBy":"MrCoolDude","stars":"4"},"row1" : {"title":"Spiderman","imgName":"Spiderman.jpeg","addedBy":"TheNumber2Dude","stars":"5"},"row2" : {"title":"Conair","imgName":"conair.png","addedBy":"Eagleuser","stars":"3"}, "row_count" : {"count" : "4"},"row3" : {"title":"Robin","imgName":"Robin.jpeg","addedBy":"UserBatman","stars":"4"}}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

信仰 2025-02-15 12:00:56

使用括号符号进行动态属性访问。

for (let i = 0; i < movies.row_count.count; i++) {
    for (let key in movies[`row${i}`]) {
        document.getElementById("moviesList").innerHTML += `Key: ${key}` + `Value: ${movies[`row${i}`][key]}` + '<br>';
    }
}

Use bracket notation for dynamic property access.

for (let i = 0; i < movies.row_count.count; i++) {
    for (let key in movies[`row${i}`]) {
        document.getElementById("moviesList").innerHTML += `Key: ${key}` + `Value: ${movies[`row${i}`][key]}` + '<br>';
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文