数组的小知识

本文详细介绍了JavaScript中创建、操作和管理数组的各种方法,包括使用newArray和字面量创建数组,获取和修改数组元素,检测数组类型,条件筛选,数组翻转,冒泡排序,以及添加、删除数组元素等操作。还探讨了instanceof和Array.isArray()的区别,以及常用的数组转换方法如toString、join和concat。此外,文章还展示了如何使用slice、splice和indexOf等方法进行数组截取和删除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建数组的两个方法:
1.使用new Array创建新数组

var arr= new Array();

2.常用的是使用字面量创建数组

var arr = [ ];

3.获取数组元素
索引:数组的下标;数组从0开始的,
索引方法:数组名【索引号】

console.log(arr[1])

4.数组的新增
通过修改length长度来新增数组长度;length是可读写;

  var arr=['red','blue','yellow','black'];
        arr.length=5;
        console.log(arr);
        arr[4]='bee';
        console.log(arr);

检测是否为数组两个方法:
1.instanceof
eg:arr instanceof Array
2. Array.isArray(参数) H5新增的方法;要在ie9以上才支持
eg:Array.isArray(arr)
instanceof Array 和 Array.isArray()区别:
Array.isArray能优先于instanceof检测出

数组条件筛选
1。将大于十挑选出来

 var arr=[2,6,1,77,52,25,7,23,1,4,5,6,7,9,34,13,65,35,7,2];
      var arr1 = [];
      for (i = 0;i <arr.length;i++){
        if (arr[i] > 10) {
          arr1[arr1.length] = arr[i]
        }
      }
      console.log(arr1);

2.数组中删除特定的值

var arr=[2,6,1,77,25,25,7,23,4,4,5,6,7,2,34,4,25,2,7,2];
      var arr1 = [];
      for (i = 0;i <=arr.length;i++){
        if (arr[i] != 2) {
          arr1[arr1.length] = arr[i]
        }
      }
      console.log(arr1);

3.数组的翻转

 var arr=['red','blue','yellow','black'];
      var arr1 =[];
      for (var i =arr.length - 1; i>=0;i--){
        arr1[arr1.length] = arr[i];
      }
      console.log(arr1);

第二种方法使用reverse

 var arr = ['red','blue','black'];
        arr.reverse();
        console.log(arr);

4.冒泡排序

    var arr=[2,6,1,77,25,25,7,23,4,4,5,6,7,2,34,4,25,2,7,2];
      for(var i = 0;i<= arr.length;i++){
        for(var j = 0;j<= arr.length-1;j++){
          if (arr[j]>arr[j+1]) {
            var tem = arr[j+1];
            arr[j+1] = arr[j]
            arr[j]  = tem
          }
        }
      }
      console.log(arr);

5.添加和删除数组元素
1.push在数组末尾添加一个新的数组元素

 var arr = [1,34,6,6,7];
        arr.push(3,'bee');
        console.log(arr);
        console.log(arr.push(3,'bee'));/* 添加push得到返回值 返回值是新的数组长度*/


注意:
(1)push是可以给数组添加新的元素
(2)push()参数直接写数组元素就可以
(3)push完毕之后返回的是新数组的长度
(4)原数组模型也会发生改变

2.在原数组前面添加元素unshift

var arr = [1,34,6,6,7];
arr.unshift(5,'red');
console.log(arr);

3.删除最后一个元素 pop()

 var arr = [1,34,6,6,7];
 console.log(arr.pop());//返回的是被删除的值
 console.log(arr);

(1)pop是可以删除数组最后一个元素 一次删除有一个
(2)pop()没有参数
(3)pop完毕之后返回的是删除的元素
(4)原数组模型也会发生改变

4.删除第一个元素shift()

 var arr = [1,34,6,6,7];
 console.log(arr.shift());
        console.log(arr);
  1. indexOf(“查找的元素”),从前面往后找可以返回当前的索引号;
    要是数组有多个元素重复,只会返回第一个符合条件的元素索引
    要是数组没有该元素,则会返回-1;
   var arr = ['green','blue','yellow'];
    console.log(arr.indexOf('yellow'));

lastIndexOf从后面往前面寻找元素,并且返回该元素的索引号
补充:
indexof(‘要查找的字符’,【开始查找的位置】);
eg:
利用indexof的第二个值,查找所有出现o出现的位置和次数

 var str = 'abcdefgoxyozzoppso';
        var index = str.indexOf('o');
        var num = 0;
        while (index!=-1) {
            console.log(index);//返回的索引号
            num++;
            index = str.indexOf('o',index + 1)
        }
        console.log(num);//返回次数

5.tostring数组转换为字符串

 var arr = [1,2,3];
console.log(arr.toString());

join(分隔符)改变分隔符,默认是逗号

     console.log(arr.join('-'));

concat()连接两个或者多个数组,不影响原数组

 var arr = [1,2,3];
var arr1 = [4,5,7];
 console.log(arr.concat(arr1)); 
arr3 = arr.concat(arr1);
console.log(arr3)/*返回的长度是二 数组拼接的数目*

slice(begin,end)数组的截取  注意begin和end是数组的索引

console.log(arr3.slice(2,5));
console.log(arr3);

splice()数组的删除 从第几个开始到第几个 和slice类型一样;返回的是删除值

 console.log(arr3.splice(2,5));

charAt(index)根据位置返回字符

 var str = 'candy';
        var chars = str.charAt(3);
        console.log(chars);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值