JS数组

<body>

        <script>

                  //什么是数组

                  //数组是一种特殊的变量,它能够一次存放一个以上的值

                  //数组可以用一个单一的名称存放很多值

                  //数组元素可以是一个字符串,数字,数组,布尔等其他类型。

                  //并且还可以通过引用索引号来访问这些值。

                  //语法

                  //var name=[item1,item2,......];

                  //第一种

                  var carsl=["Saab","Volvo",'porsche']

                  document.write('第一种'+carsl+'<br>')

                  //空格和折行符并不重要。声明可横跨多行,

                  //请不要最后一个元素之后写逗号,可能存在跨浏览器兼容性问题。

                  var carsll = [

                        "Saab",

                        "Volvo",

                        'porsche'

                  ];

                  document.write('第一种'+carsl+'<br>')

                  //第二种,使用new关键词

                  var cars2 = new Array("Saab","Volvo","BMW");

                  document.write('第二种'+cars2+'<br>')

                  //简洁、可读性和执行速度的考虑,请使用第一种方法(数组文本方法)。

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

                  //访位数组

                  //通过引用索引号(下标号)来引用某个数组元素。[0]  是数组中的第一个元素。[1]  是第二个。数组索引从 0 开始。

                  var cars = ["Audi","BMW","porsche"];

                  console.log(cars[2]);

                  console.log(cars[3]);          //返回undefined

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

                  //数组是一种特殊类型的对象。通过typeof运算符会返回"object"。object对象

                  var arr=[0,1,'a']

                  console.log(typeof(arr));

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

                  //改变数组元素

                  var cars = ["Audi","BMW","Porsche"];

                  document.write (cars+"<br>");

                  cars[0] = "Volvo";

                  document.write (cars+"<br>");   //访问完整数组

                  document.write (cars[0]);

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

                   //length 属性返回数组长度。length 属性始终大于最高数组索引(下标)

                   var fruits = ["Banana","Orange","Apple","Mango"];

                   console.log(fruits.length) ; 

                   console.log(fruits[fruits.length-1]); //访问最后一个数组元素

                            //length添加元素

                   fruits[fruits.length] = "lemon";

                   document.write(fruits);

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

                   //通过for循环遍历数组元素

                   var fruits = ["Banana","Orange","Apple","Mango"];

                   var fruits_ = fruits.length;

                   var text="";

                   for (var  i = 0; i < fruits_; i++){

                        text += fruits[i]+'<br>'; 

                    }

                    document.write(text+'<br>');

                    //for in

                    for (var p in fruits){         //遍历数组和对象

                                 document.write(p+'<br>') //p遍历下标,

                          document.write(fruits[p] + "<br>");

                     }

                     //forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。对于空数组是不会执行回调函数的。

                     //回调函数(callback)是以一个以形参形式传递给另一个函数的函数,并且该函数必须等另一个函数执行完才会被调用

                     var text = "";

                     fruits.forEach(myFunction);

                     document.write(text);

                     function myFunction(value)  {

                          text += value + "<br>";

                     }

                     console.log(typeof fruits.forEach);

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

                     //关联数组:在Javascript中,数组只能使用数组索引。

                     var person = [];

                     person[0] = "John";

                     person[1] = "Doe";

                     person[2] = 46;

                     person[2] = 36;

                     document.write(person);

                     document.write(person[0] + " " + person.length);

                     //如果在访问数组时使用命名索引,JavaScript会将数组重新定义

                     //为标准对象,并且某些数组方法和属性将产生未定义或不正确的结果。

                     person["firstName"] = "John";

                     person["lastName"] = "Doe";

                     person["age"] = 46;

                     document.write(person[0] + " " + person.length);

                     //数组使用数字索引,对象使用命名索引。数组是特殊类型的对象,具有数字索引。

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

                     //isArray识别数组

                     var fruits = ["Banana","Orange","Apple","Mango"];

                     alert(Array.isArray(fruits));          //语法:Array.isArray(obj) 

          </script>

</body>

posted @ 2019-08-19 21:30  不知名网友  阅读(160)  评论(0编辑  收藏  举报