JS数组
1.什么是数组
具有相同类型或者不同类型的数据的有序集合,每一个值叫做一个元素每一个元素对应一个位置,从0开始,叫做下标或者索引.
2.创建数组
-
构造数组的方式
<script> var clubs = new Array(); clubs[0] = "张三"; clubs[1] = "李四"; console.log(clubs); </script>
-
简洁方式
<script> var movies = new Array("教父","无间道","请回答1988"); console.log(movies); </script>
- 如果在创建数组的时候添加的是一个整数,那么代表的不是该数组的元素,而是数组的长度
-
字面量定义方式
<script> var arr = ["迪丽热巴", "古力娜扎", "热依扎"]; console.log(arr); </script>
<script> var arr1 = []; //空数组 console.log(arr1)' </script>
3.访问数组
<script>
var arr = ["马志强", "马坚强", "ob", "大哥"];
console.log(arr[3]);
</script>
输出大哥,大哥的下标是3
<script>
var arr = ["马志强", "马坚强", "ob", "大哥"];
arr[2] = "old big";
console.log(arr);
</script>
替换了数组中下标是2的元素的值
4.遍历数组
- 利用循环获取数组中的每一个元素的值
- 遍历的是数组的下标
<script>
var arr = ["腾讯"; "华为"; "快手"; "字节跳动"];
for(var i = 0; i <= arr.length - 1; i++){ //每次都要获取arr.length的数值,性能慢
console.log(arr[i]);
}
</script>
-
优化方式
-
能写小于的就不写等于
-
将length方法提取出来
<script> var arr = ["腾讯"; "华为"; "快手"; "字节跳动"]; var arr_length = arr.length; for(var i = 0; i < arr_length; i++){ console.log(arr[i]); } </script>
-
5.数组的方法和属性
方法 是带 () 的
属性是没有 () 的
<script>
var arr = ["法拉利", "宾利", "AE86", "GTR"];
console.log(arr.length); //方法,输出数组的下标
console.log(arr.indexOf("AE86")); //属性,输出第三个元素的下标
</script>
6.数组的增删改查
-
增
-
从末尾加
思路:数组里一共5个元素.下标分别是0,1,2,3,4,数组的长度是5,定义元素的下标值是数组的长度值,然后赋值,就添加在了数组的末尾.
<script> var arr = ["篮球", "台球", "乒乓球", "悠悠球", "玻璃球"]; arr[arr.length] = "羽毛球"; </script>
-
从开头加
思路:把length的长度加一,加把每一个元素都替换到后面一个元素的下标,然后第一个下标的位置就空出来,把要添加的元素加上
<script> var arr = ["锅包肉", "铁锅炖", "汆白肉", "炒鸡蛋"]; for(var i = arr.length; i >=1; i--){ arr[i] = arr[i - 1]; } arr[0] = "蛋炒饭"; console.log(arr); </script>
-
从中间加
思路:确定出要添加位置后面一个元素的下标.然后把length的长度加一,把从这个元素开始的每一个元素替换到后面一个元素的下标,这个位置就空出来了,把空出来位置的下标赋值.
<script> var arr = ["p20", "mate20", "p30", "mate30", "p40", "mate40", "p50"]; for(i = arr.length; i >=4; i--){ arr[i] = arr[i - 1]; } arr[5] = "x2"; console.log(arr); </script>
-