JavaScript数组的使用

一、数组

1、创建数组的方式

a、方法一:利用 new 创建数组

var arr = new Array()

b、方法二:利用数组字面量创建数组

var 数组名 = [‘小白’,‘小黑’,‘大黄’,‘瑞奇’];

2、数组的length属性可以被修改:

  • 如果设置的length属性值大于数组的元素个数,则会在数组末尾出现空白元素;
  • 如果设置的length属性值小于数组的元素个数,则会把超过该值的数组元素删除
	var arr5 = [ "red",'blue','green','white']
	//清空数组
    arr5.length = 0
    console.log(arr5)

    //修改长度.  但是里面没有内容,是空的.  强行获取,或得到undefined
    arr5.length = 10
    console.log(arr5)

3、数组新增、修改、删除、查找元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    var arr = ['香蕉','苹果','梨','桃子','西瓜']


    //查找元素数组中的第二个元素
    console.log(arr[1]) //苹果


    //新增一个元素
    //方法一:原始方法
    // arr[arr.length] = '荔枝'
    // console.log(arr) // ["香蕉", "苹果", "梨", "桃子", "西瓜", "荔枝"]

    //方法二:push 推  向数组尾部添加一个或多个元素.   追加
    //1.会修改原数组
    //2.返回的是数组新增后的长度
    // var result = arr.push('荔枝')
    // console.log(result) //6
    // console.log(arr) // ["香蕉", "苹果", "梨", "桃子", "西瓜", "荔枝"]

    //方法三: unshift   在数组头部添加一个或多个元素
    //会修改原数组,也返回新长度
     var result = arr.unshift('荔枝')
     console.log( arr )// ["荔枝", "香蕉", "苹果", "梨", "桃子", "西瓜"]
     console.log( result ) //6


    //修改数组中第三个元素的值为’芒果‘
    arr[2] = '芒果'
    console.log(arr) //["香蕉", "苹果", "芒果", "桃子", "西瓜", "荔枝"]


    //删除数组中的最后一个元素
    
    //方法一:
    //pop  弹出   删除数组的最后一个元素
    //会修改原数组,返回被删除的元素
    var result = arr.pop()
    console.log(result) //西瓜
    console.log(arr) //[“荔枝","香蕉", "苹果", "芒果", "桃子"]
    
    //方法二:
    //shift   在数组头部删除一个元素
    //会修改原数组,返回被删除的元素
    // var result =  arr.shift()
    // console.log( result )      //荔枝
    // console.log( arr ) //["苹果", "芒果", "桃子", "西瓜", "荔枝"]
    
</script>


</body>
</html>

4、判断是否为数组的方式

a、instanceof 运算符

//instanceof 可以判断一个对象是否是某个构造函数的实例
var arr = [1, 23];
var obj = {};
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false
b、Array.isArray()
//Array.isArray()用于判断一个对象是否为数组,isArray() 是 HTML5 中提供的方法
var arr = [1, 23];
var obj = {};
console.log(Array.isArray(arr));   // true
console.log(Array.isArray(obj));   // false

5、数组排序

//如果是数字,则排序时,需要使用函数
    var arr = [ 2,6,9,15,4,22,17 ]
    //arr.sort( function (a,b) { return a-b }  ) //升序
    arr.sort( function (a,b) { return b-a }  )   //降序
    console.log( arr )

6、查找数组元素

  // indexOf(查找的元素,从哪个位置开始查找)   查找元素在数组中的下标,有则返回下标,无返回-1
    // 一般用于判断数组中是否有某个元素    index != -1
    // var arr = [4,5,6,7]
    // console.log(  arr.indexOf(5)  )  // 1
    // console.log(  arr.indexOf(9)  )  //-1


    // indexOf(查找的元素,从哪个位置开始查找)
    // var arr = [4,5,6,7,5]
    // console.log(  arr.indexOf(5,3)  )   //4


    //lastIndexOf  从后往前找元素,找到了就返回下标,找不到返回-1
    var arr = [4,5,6,7,5]
    console.log(  arr.lastIndexOf(5)  )  //4  这个下标依然从0开始计数

7、数组去重

  var arr = [1, 1, 2, 4, 2, 2, 3, 3, 4]
    //逻辑1:遍历这个数组,如果找到相同的元素,删除. 需要使用双重循环

    //逻辑2:新建一个空数组. 遍历原数组,如果这个元素不在新数组中,则加入.如果在,就不加. 只需要一次循环
    function unique(arr) {
        var newArr = []
        for (var element of arr) //遍历数组
        {
            if (newArr.indexOf(element) === -1)  //如果这个元素,不在新数组中
            {
                newArr.push(element)  //则添加
            }
        }
        return newArr  //返回新数组
    }

    console.log(unique(arr))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值