美文网首页
JavaScript 数组的一些梳理

JavaScript 数组的一些梳理

作者: Rangzhi | 来源:发表于2019-01-11 18:31 被阅读0次

数组

array 是js中的一种数据类型
形如[0,1,2,3,4,5]
每一个元素都有它对应的索引(index)也可称为下标
可按照索引查找到指定元素
可以通过Array.isArray()来判断一个数据数据是否是数组

创建数组的方法

在js中创建数组的方法有
let arr = [0,1,2,3,4]
let arr = new array ()
需要注意的是在js中数组是一种特殊的对象
所以有一些属性和方法

数组的属性和方法

arr.length 获取数组的长度
length可以用来控制有时候数组的循环
length-1就是数组最后一个元素的索引

方法:

  • arr.split()
    括号里接收一个参数以什么为分割
    可以将字符串装换成数组
    方法返回一个新数组不会改变原数组
    let arr = [wo ai ni a ]
    //这个数组中间都有空格所以可以将空格传进去
    let arr1 = arr.split(" ")
    arr1.foreche(function(index){
        cosole.log(index)
        // wo
        // ai
        // ni
        // a
    })


  • 复制数组的方法
    复制数组有两种方法
    浅复制和深复制
    浅复制特别简单

浅复制

let arr1 = [1,1,2,4]
let arr2 =arr1
console.log(arr2)//[1,1,2,4]

//虽然可以复制但是复制的只是数组的引用地址
//如果一个数组改变另一个相同地址的数组也会被改变
//不建议使用

深复制

function copy(arr1,arr2){
    for(let i=0;i<arr1.length;i++)
    arr2[i]=arr1[i]
}
let num = [1,2,3,4,5]
let copynum = []
copy(num,copynum)
console.log(copynum)//[1,2,3,4,5]
//利用一个空数组来接收

  • 查找元素
    ** indexof**
    ** lastindexof**
    indexof可以查找一串数组中的元素
    如果有就返回该元素的第一个元素的索引
    如果没有就返回-1
    lastindexof返回最后一个相同元素
let arr = ["heihei","xixi",1,2,3]
function soerch(arr,index){
    let Return=arr.indexOf(index)
    if(Return==-1){
        console.log("no have ")
    }else{
        console.log(Return)
        return Return
    }
}
soerch(arr,"0") //No hava
soerch(arr,"heihei")//0

  • 数组转换为字符串

join() tostring()
这两个方法都会返回一个包含数组所有元素的字符串
各元素之间默认用','分割
其中join()可以接受一个字符 用传入的字符来分割数组

let arr = ["wo","shi","ni","baba"]
let str = arr.toString()
console.log(str) // "wo,shi,ni,baba"
console.log(arr.join(" "))//"wo  shi  ni baba"

  • 拼接和切割数组
    concat() splice()
    concat()可以将两个数组连接起来返回一个新的数组
    arr.concat(arr2)
    splice()将数组切片返回一个新的数组 接受两个参数起始位置的索引,截取长度
    concat不会改变原数组,splice会改变
let arr = ["wo","shi","ni","baba"]
let  arr2 = [1,2,3,4]
let arr3=arr.concat(arr2)
console.log(arr3)//["wo","shi","ni","baba",1,2,3,4]
let arr4 = arr3.splice(0,4)//接受两个参数 第一个是截取位置的索引 第二个是长度
console.log(arr4)//["wo","shi","ni","baba"]
console.log(arr3)//[1,2,3,4] //原数组被改变了


  • 添加元素
    push() unshift()
    push() 在数组最后依次添加元素
    unshift()在数组最前依次添加元素
let arr = [1,2,3]
arr.push(4,5)
console.log(arr)//[1,2,3,4,5]
arr.unshift(0,-1)
console.log(arr)//[0,-1,1,2,3,4,5,]


  • 删除元素
    pop() shift()
    pop()删除末尾最后一个元素
    shift()删除第一个元素
    这两个函数都会将删除的元素返回可以来一个变量来接收
let arr = [1,2,3]
console.log(arr.pop())//3
console.log(arr)//[1,2]
console.log(arr.shift())//1
console.log(arr)//2

也可以通过splice进行数组的删除和增加

let  arr = [1,2,6,7]
arr.splice(2,0,3,4,5)
console.log(arr)//从2开始增加3.4.5
arr.splice(0,3)
console.log(arr)//[4,5,6,7]
  • 排序
    reverse() sort()
    rever()可以将数组进行翻转
    sort可以将数组按照字典进行排序 但是碰到数字类型的就不太好用
    可以写一个函数 sort会按照返回值
let arr =[5,4,3,2,1]
arr.reverse()
console.log(arr) //[1,2,3,4,5]
let arr1 = [5,6,7,1,2]
arr1.sort(function(arr1,arr2){
    return arr1-arr2
})
console.log(arr1)


```********

相关文章

网友评论

      本文标题:JavaScript 数组的一些梳理

      本文链接:https://www.haomeiwen.com/subject/xuqfdqtx.html