浅析数组知识点

98 阅读2分钟

数组

定义

1.通过对象原型定义
//定义数组方式一
var arr = new Array();
console.log(arr)
console.log(arr.length)

Array只有一个参数且为数字,则数组长度为该数的值

var arr = new Array(5);
console.log(arr)//[]
console.log(arr.length)//5

Array只有一个参数且为字符串,则数组中的值为该字符串

var arr = new Array('你好')
console.log(arr)//['你好']
console.log(arr.length)//1

Array传入多个参数则代表数组具体的值

var arr = new Array(1,2,3,4,5);
console.log(arr)//[1,2,3,4,5]
console.log(arr.length)//5
2.通过[ ]定义
var arr = [2];//
            console.log(arr)//[2]
            console.log(arr.length)//1
            
            var arr = ['小明','小红','小华'];
            console.log(arr)
            
            // 添加一个元素到数组
            arr[5] = '小海';
            console.log(arr);
            console.log(arr.length)//6
            
            // 修改指定下标元素的值
            arr[2] = '小张';
            console.log(arr)
            
            // 删除指定下标的值、delete()删除值,保留键(下标)
            // delete(arr[5])
            // console.log(arr)
            // console.log(arr.length)
            
            // splice(index,num)删除数组指定下标的值,且不保留键
            arr.splice(3,2)
            console.log(arr)
注意:
                length检测数组的长度
                数组的下标只能为数字,从0开始计算
                数组最大的下标 + 1 = 数组的长度
                arr[index] = 值;
                当index下标不存在则为添加 当index下标则为修改

数组的出栈入栈

push()

从数组的尾部压入一个元素

var arr = [1,2,3,4,5];
            console.log(arr)
            
            arr.push(6)
            console.log(arr)//[1, 2, 3, 4, 5, 6]
pop()

从数组的尾部弹出一个元素

var arr = [1,2,3,4,5];
            console.log(arr)
            
            arr.pop()
            console.log(arr)//[1, 2, 3, 4]
unshift()

从数组的头部压入一个元素

var arr = [1,2,3,4,5];
            console.log(arr)
            
            arr.unshift(0)
            console.log(arr)//[0,1,2,3,4,5]
shift()

从数组的头部弹出一个元素

var arr = [1,2,3,4,5];
            console.log(arr)
            
            arr.shift()
            console.log(arr)//[2,3,4,5]

数组的连接和拆分

concat()

concat():返回连接后的数组

var arr = [1,2,3]
            var arr2 = [4,5,6]
            
            var newArr = arr.concat('张三')
            console.log(newArr)//[1,2,3,'张三']
            
            var newArr = arr.concat(arr2)
            console.log(newArr)//[1,2,3,4,5,6]
            
            var arr3 = [8,9]
            var newArr = arr.concat(arr2,arr3)
            console.log(newArr)//[1,2,3,4,5,6,7,8,9]
join()

join()将数组按照指定的字符连接成字符串

var arr = ['最','近','很','凉','快'];
            console.log(arr)
            
            // join()默认按照逗号进行连接
            var str = arr.join('')
            console.log(str)
            console.log(typeof str)

数组的截取

slice(start,[end])

一个参数:从指定下标开始截取,截取到最后

var arr = [1,2,3,4,5];
            console.log(arr)
            var newArr = arr.slice(2)
            console.log(newArr)//[3,4,5]
            // 从倒数第二个值开始截取,截取到最后
            var newArr = arr.slice(-2)
            console.log(newArr)//[4,5]

两个参数:从指定下标开始截取,截取到指定下标之前(不包含结束下标)

var arr = [1,2,3,4,5];
console.log(arr)
var newArr = arr.slice(2,4);
console.log(newArr)//[3,4]
注意:

slice()必须按照从左到右截取

var arr = [1,2,3,4,5];
console.log(arr)
var newArr = arr.slice(-1.-4);
console.log(newArr)//[]
splice(index,num,content)

//改变原数组

index:指定的某个下标

num:删除的个数

content:添加的内容

var arr = [1,2,3,4,5];
            console.log(arr)
            
            // 删除指定下标的值
            arr.splice(2,1)
            console.log(arr)
            
            // 为数组添加内容
            arr.splice(3,0,'老王')
            console.log(arr)
            
            // 修改指定下标的值
            arr.splice(1,1,'张三')
            console.log(arr)

\