javascript - 使用each() 数组显示零长度且没有值

标签 javascript jquery arrays loops

我对 PHP 比对 JQuery 更熟悉,并且有点陷入数组。我已阅读了论坛上有关此主题的所有帖子,但无法使其发挥作用。

我有一个我认为是数组的东西。 在 php 中看起来像这样的东西

myArr = ['option-4' => '3','option-1' => '8', 'option-3' => '0' ];

在 JQuery 中,我可以使用命令检索值

var x = myArr['option-1'];

这一切都很好,但我需要做的是创建一个值的字符串。所以我需要循环遍历元素并将元素的值添加到字符串中。问题在于循环。

当我检查数组的长度时

alert("Elements in array "+myArr.length);

它总是返回零。

当我尝试类似的事情时

$.each(myArr , function(i, val) { 
  alert(myArr[i]); 
});

没有显示任何内容。

我显然错过了一些东西,我的 PHP 知识一定会阻碍一些东西。 有人可以帮忙吗?

最佳答案

这不是一个有效的 JavaScript 数组。您想使用一个对象:

var myArr = {'option-4': '3', 'option-1': '8', 'option-3': '0' };

然后您可以使用 for .. in 迭代所有键:

for (var key in myArr) {
    alert(myArr[key]);
}

这相当于 PHP 中的关联数组。请注意,您需要使用显式键来访问元素,不能使用索引,例如 myArr[0]

关于javascript - 使用each() 数组显示零长度且没有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16283201/

相关文章:

javascript - 我如何执行此行一次?

jquery - 如何返回Web API数据

jquery - 通过 jquery 添加的 css id 不起作用

javascript - 基本的 jquery 延迟使用与 ajax

php - 使用 php 和 sql 上传多张图片

javascript - Oclick Javascript 函数不工作

javascript - Internet Explorer 的 findIndex() 方法问题

javascript - 多线程的 node.js 版本?

android - Kotlin保存在字符串中重复的特定char的索引

javascript - 查找数组中最短的字符串