数组的声明、遍历和增删查改
数组
数据结构
逻辑结构、存储结构、算法
数据存储的结构和方式
线性结构和非线性结构
线性结构
-
数组(顺序表)
-
队列(先进先出)
-
栈 (先进后出)
-
堆
-
链表
非线性结构
-
树
-
图
-
hash(散列表)
数组
有顺序的元素序列,用于储存多个相同类型数据的集合
数组的声明(引用)
-
[]
//元素用逗号隔开,一般为同一类型
var arr = [0,1,2]
var arr2 = ['我','是','数组'] -
new(为对象)
var arr = new Array()//里面的参数为长度,可不写即为0
var arr = new Array()
数组的遍历
循环语句遍历
var arr = [1,2,3,45,12]
//利用顺序表的特点 有序
for(var i=0;i<arr.length;i++){
console.log(arr[i])
}
for in遍历(返回值为数组里的每个下标)
var arr = [1,2,3,4,5]
for(var index in arr){ //index表示的为下标
console.log(arr[index])//1 2 3 4 5
console.log(index)//0 1 2 3
}
for of遍历(返回值为数组里的每个值)
//使用for of遍历(只能遍历数组,返回值为数组里的值)
var arr = [1,2,3,4,5]
for(var value of arr){
console.log(value)//1 2 3 4 5
}
数组的增删查改
只要是能存数据的容器 就必须具备增删改查的方法
-
增(add push append)
-
栈方法
-
push方法(添加到数组最后)
var arr = [0,1]
arr.push(5)
console.log(arr) //[0,1,5]
-
-
队列方法
-
unshift方法(添加到数组最前面)
var arr = [0,1]
arr.unshift(5)
console.log(arr) //[5,0,1]
-
-
-
删(硬删除(delete、软删除(remove)
-
栈方法
-
pop方法(删除最后一个)
var arr = [0,1]
arr.pop()
console.log(arr) //[0]
-
-
队列方法
-
shift方法(删除最前面一个)
var arr = [0,1]
arr.shift()
console.log(arr) //[1]
-
-
-
查(不会影响原本数组)
-
// 返回新的数组
var arr= [4,1,7,3,9,2];
var arr4 =[1,2,3,5]
var newArr =arr.concat(arr4) //追加数据, 创建一个新数组, 不改变原数组
console.log(newArr)//[4,1,7,3,9,2,1,2,3,5] -
slice
-
//返回新的数组
var arr= [4,1,7,3,9,2];
var arr2=arr.slice(1,3)//是第二位跟第三位两个元素
console.log(arr); -
splice!!!(插删改)
//请将数组[1,46,74,3,5,5]中的元素右移1位
var arr5 = [1,46,74,3,5,5]
arr5.splice(0,0,0)
//如果要删除那么第一个0和第二个0决定开始和删除结束的位置
//如果不删,只插第一位为开始位置,第二位写0,第三位为插入的元素例如0
console.log(arr5);//[0,1,46,74,3,5,5]
//插数:在数组[1,46,74,3,5,5]的下标为2的位置插入一个数字8,结果为[1,46,8,74,3,5,5]
var arr6 = [1,46,74,3,5,5]
arr6.splice(2,0,8)
console.log(arr6);//[1,46,8,74,3,5,5]
-
-
改(替换(replace)、更新(updata))
-
reverse(反转)
//将最后一个变到第一个 一个个对应的换位置
var arr= [4,1,7,3,9,2];
console.log(arr.reverse()); //[2,9,3,7,1,4] -
sort(排序)
//sort方法排序 //默认情况下他是根据第一个字符的ACSII码进行排序 (ACSII码排序)
var arr2 = [15,20,11,4,5]
arr2.sort() //返回一个数组 这个数组是排序好的数组 他跟上面一样 就是返回的这个数组其实就是原本的数组
console.log(arr2);
//正序、反序
// sort 其实是一个高阶函数 高阶函数就是里面用函数做为参数的函数
var arr3 = [15,20,11,4,5]
arr3.sort(function(a,b){
//1 和 -1来进行大小区分和排序规则
return b-a //a-b是正序 b-a就倒序
})
console.log(arr3); -
-

浙公网安备 33010602011771号