【问题标题】:Can I build an index to an associative array from a string in JavaScript?我可以从 JavaScript 中的字符串构建关联数组的索引吗?
【发布时间】:2020-09-09 12:58:07
【问题描述】:

在我的 JavaScript 代码中,我有一个关联(二维)数组 (myObj[x][y]),它在每一行都有 n 个元素(我知道每一行的 n - 每行不同),其中第一个值显示数量( n) 喜欢

{"amount"=>"n", "key0"=>"value0","key1"=>"value1"..."keyn"=>"valuen"}

在一个循环中,我需要访问所有这些值,例如

for (i=o; i=n-1;i++){
  current=myObj[row-x].key-y; //code to do something with current
}

我怎样才能建立这个索引.key-y 以便我可以访问值? (如果我创建一个类似"myObj[row-x].key-"+ i.toString()}" 的字符串(将索引构造为文字)可以通过某种方式完成?

JSON ```

"[{\"object_type\":\"villa\",\"object_name\":\"Maries 别墅\",\"object_id\":\"1\",\"mainimg\": \"images\/maries\/IMG1.jpg\",\"object_descreption\":\"BLA BLA BLA.\",\"smallimg0\":\"images\/maries\/img1f.jpg\",\ "smallimg1\":\"图像\/maries\/img1a.jpg\",\"smallimg2\":\"图像\/maries\/img1b.jpg\",\"smallimg3\":\"图像\/ maries\/img1c.jpg\",\"amencount\":4,\"amenitie0\":\"A\/C\",\"amenitie1\":\"Kitchen\",\"amenitie2\": \"Wi Fi\",\"amenitiie3\":\"Parking\"},{\"object_type\":\"villa\",\"object_name\":\"Agia Marina 别墅\",\" object_id\":\"2\",\"mainimg\":\"images\\agiamarina\\img1.jpg\",\"object_descreption\":BLA BLA BLA\",\"smallimg0\":\"图像\/agiamarina\/img1.jpg\",\"smallimg1\":\"图像\/agiamarina\/img2.jpg\",\"smallimg2\":\"图像\/agiamarina\/img3.jpg\ ",\"smallimg3\":\"图像\/agiamarina\/img4.jpg\",\"amencount\":3,\"amenitie0\":\"A\/C\",\"amenitie1\" :\"Wi Fi\",\"amenitie2\":\"Parking\"},{\"object_type\":\"villa\",\"object_name\":\"Villa at Argasi\",\" object_id\":\"6\",\"mainim g\":\"images\/argasi\/img1.jpg\",\"object_descreption\":\"BLA BLA BLA\",\"smallimg0\":\"images\/argasi\/img1.jpg\ ",\"smallimg1\":\"图像\/argasi\/img2.jpg\",\"smallimg2\":\"图像\/argasi\/img3.jpg\",\"smallimg3\":\"图片\/argasi\/img4.jpg\"}]"```

谢谢大家!!得到我的答案..这么简单,这么傻我!!!!!!!!!

【问题讨论】:

  • JavaScript 中没有关联数组。您正在寻找/谈论的是一个对象 -> Working with objects - JavaScript | MDN
  • xymyObj 中是否总是数字?然后你有一个二维数组,这很好。如果其中一个不是,那么您可能有一个具有对象属性的对象、一个具有数组属性的对象或一个对象数组。没有看到实际数据很难说。请使用console.log(JSON.stringify(myObj, null, 2))edit 您的问题包含结果。
  • 实际上是我从 php 传输的 JSON。我看过那里,没有找到答案..仍然喜欢任何建议???
  • 我们需要知道您的真实数据是什么样的,以帮助您浏览它。我们可以猜测,就像当前的答案一样,但这只是一个猜测,基于您提供的伪代码。

标签: javascript arrays indexing


【解决方案1】:

当然。像这样的东西会循环遍历你的所有元素:

var rowAmount;
for (row=0; row < myObj.length; row++) {
    rowAmount = myObj[row].amount;
    for (key=0; key < myObj[row].length - 1; key++) {
        currentValue = myObj[row]["key" + key];
        //code to do something with currentValue and rowAmount
    }
}

【讨论】:

  • 谢谢大家!!得到了我的答案.. 如此简单,如此愚蠢的我!!!!!!!!!!特别感谢你的爪子!!!
猜你喜欢
  • 2010-09-29
  • 2021-12-29
  • 1970-01-01
  • 2012-05-06
  • 2018-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多