🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 数组 数组是按次序排列的一组值。每个值的位置都有编号(从0开始的)。整个数组用方括号表示。 > 数组的元素可以是不同的数据类型。 > 如果数组中的元素也为数组,那么就构成了一个二维数组 ~~~javascript var arr = ['a','b','c']; var arr2 = []; arr2[0] = 'a'; arr2[1] = 'b'; arr2[2] = 'c'; var arr3 = ['a',12,true,{name:"Tom",age:18}]; console.log(typeof arr3[2]); // boolean var arr4 = [[1,2],[3,4]]; console.log(arr4[1][0]); // 3 ~~~ ### 数组的本质 本质上,数组就是一个对象。通过typeof运算符返回的类型就是object。 ~~~javascript console.log(typeof arr4); // object console.log("arr['1']=" + arr['1']); // b console.log(Object.keys(arr)); // ["0", "1", "2"] ~~~ ### length属性 length属性返回的是数组的成员数量。 Javascript使用32位整数保存数组的元素个数,所以length的最大值为232-1。 只要是数组,就有length属性,而且length属性是一个动态的值,该值等于键名中的最大整数+1。 > 清空一个数组比较有效的方法就是设置length=0 ~~~javascript var arr5 = [1,2,3,4,5]; console.log(arr5.length); // 5 arr5[100] = 100; console.log(arr5.length); // 11 console.log(arr5[7]); var arr6 = [1,2,3,4]; console.log(arr6[3]); // 4 arr6.length = 3; console.log(arr6[3]); ~~~ ### for...in循环和遍历数组 ~~~javascript var arr6 = ['a','b','c','d']; arr6.score = 98; for (var i in arr6) { console.log(arr6[i]); // a b c d 98 } ~~~ > 通过for...in遍历数组的时候,会把非数字键的属性也遍历出来,所以不推荐使用for...in遍历数组 我们一般还是使用for或while循环去遍历数组 ~~~javascript for (var i = 0; i < arr6.length; i++) { console.log("arr6[" + (i) + "]=" + arr6[i]); } var i = 0; while (i < arr6.length) { console.log("arr6[" + (i) + "]=" + arr6[i]); i = i + 1; } ~~~