如何在javascript中循环遍历此数组?

moj*_*ras 1 javascript

我正在尝试遍历此数组,但它不会返回任何长度.可能吗?

谢谢!

<!DOCTYPE html>
<html>
  <body>
    <button onclick="myFunction()">click</button>
    <script>
      function myFunction()
      {
        var fruits = [];
        fruits["B"] = "Banana";
        fruits["A"] = "Apple";
        fruits["O"] = "Orange";

        delete fruits["A"];

        alert(fruits["A"]); // Alerts "undefined"
        alert(fruits["B"]); // Alerts "Banana"
        alert(fruits.length); // Alerts "0"
      }
    </script>

  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

jba*_*bey 8

数组只能有数字索引.当您编写fruits["B"] = "Banana";您正在为对象分配属性(数组是对象)时,不向项目添加项目.

您可以使用数字索引正确使用数组,也可以使用带字符串键的对象:

var fruits = [];
fruits.push("Banana");
alert(fruits[0]); // "Banana"

var fruits = {};
fruits["B"] = "Banana";
alert(fruits["B"]); // "Banana"
Run Code Online (Sandbox Code Playgroud)

如果您需要对象的长度,请使用Object.keys(fruits).length; 文档