一、数组概念
计算机内存中一段连续的空间,使用一个变量名来表示
二、数组的定义
1,var arr = new Array(多个数据)
2,var arr = [多个数据]
数组的规律:
第一个值的下标永远是0;
最后一个值的下标永远是值的个数-1。
三、数组基本操作
-
访问元素
- 数组[下标]
-
设置元素
-
数组[下标] = 值
-
下标原本存在
- 修改
-
下标原本不存在
- 新增
-
-
-
删除
-
delete 数组[下标]
- 只能删除数据,无法删除小空间
-
-
长度
-
求长度
- 数组.length
-
设置长度
- 数组.length = 数字
-
-
遍历
- 写for循环,循环每个元素的下标,条件通常使用数组.length
四、数组方法
-
unshift - 给数组开头添加一个或多个元素 - 返回数组新长度
css 复制代码 var arr = ['a','b','c']; var l = arr.unshift('d') console.log(arr) // ['d','a','b','c'] console.log(l) // 4 -
push - 给数组的末尾添加一个或多个元素 - 返回数组新长度
css 复制代码 var arr = ['a','b','c']; var l = arr.push('d') console.log(arr) // ['a','b','c','d'] console.log(l) // 4 -
shift - 删除数组的第一个元素 - 返回被删掉的元素
css 复制代码 var arr = ['a','b','c']; var ele = arr.shift() console.log(arr) // ['b','c'] console.log(ele) // 'a' -
pop - 删除数组最后一个元素 - 返回被删掉的元素
css
复制代码
var arr = ['a','b','c'];
var ele = arr.pop()
console.log(arr) // ['a','b']
console.log(ele) // 'c'
-
splice - 对数组做增、删、改的操作
css 复制代码 var arr = ['a','b','c'] // 改 - 参数1:开始下标;参数2:删除的个数;参数3:在删除的位置放上的新的元素 - 可以是多个 arr.splice(1,1,'d') // ['a','d','c'] // 增 arr.splice(1,0,'d') // ['a','d','b','c'] - 删除0个,就是不删除,然后放上新元素 // 删 - 第三个参数可以省略 arr.splice(1,0) // ['a','c'] -
concat - 数组的拼接
ini 复制代码 var arr = ['a','b','c']; var brr = ['d','e','f']; // 将arr和brr合成一个更大的数组 var crr = arr.concat(brr) // ['a','b','c','d','e','f'] // 将一个或多个值和数组合并成一个大数组 var crr = arr.concat(1,2,3)// ['a','b','c',1,2,3] -
sort - 数组的排序
css 复制代码 var arr = [9,5,3,7,1,6,4,8,2]; arr.sort() // 默认升序 console.log(arr) // [1,2,3,4,5,6,7,8,9] arr.sort(function(a,b){ // a代表前面的数,b代表后面的数 return a-b; // 升序 - 如果前面的数-后面的数>0,则交换位置 return b-a; // 降序 - 如果后面的数-前面的数>0,则交换位置 }) -
reverse - 数组的反转
css 复制代码 var arr = ['a','b','c']; arr.reverse() console.log(arr) // ['c','b','a'] -
join - 将数组中的元素使用指定的连接符连接在一起
csharp 复制代码 var arr = ['a','b','c']; var str = arr.join('_') // 参数是连接符 console.log(str) // a_b_c var str = arr.join() // 默认使用逗号连接 console.log(str) // a,b,c var str = arr.join('') console.log(str) // abc -
slice - 截取数组
css 复制代码 var arr = ['a','b','c','d','e','f']; // 将数组中的 'b','c','d'截取出来,组成新的数组 var brr = arr.slice(1,4) // 参数1是开始截取的下标,参数2是截取的结束下标,结果中不包含结束下标对应的元素 console.log(brr) // ['b','c','d'] // 如果省略第2个参数,默认从开始下标截取到数组末尾 var crr = arr.slice(1) console.log(crr) // ['b','c','d','e','f']