js基础--数组

98 阅读1分钟

数组

存储大量数据的容器

创建方式

  • 隐式创建

    var arr=[];
    
  • 实例化构造数组

    var arr= new Array();
    

数组赋值

  • 声明时同时赋值

    var arr=[10,20,30];
    var arr=new Array("one",)
    
  • 先声明再赋值

数组存储是有序数列,数列前面的序号叫下标

数组名[下标]

从零开始

var arr=[];
arr[0]=1;//可以是任意数据类型

数组的访问

  • 通过下标的方式访问:数组名[下标]
  • 通过数组长度访问
数组长度:arr.length
数组最后一个下标: arr.length-1
数组最后一个下标对应的值arr[ arr.length-1]
数组末尾添加数据:arr[arr.length]=值

数组的遍历

  • for

    for(var i=0;i<arr.length;i++){
          console.log(i);//下标
      console.log(arr[i]);
    }
    
  • for ...in

    var arr = [1,2,3];
    for(var i in arr){
      // i 是数组下标
      // arr[i] 是数组数据
    }
    
  • for...of

    
    for (let i of arr) {
      // i 值是键值,  并且只返回具有数字索引的属性
      console.log(i);   //  "3", "5", "7"
    }
    

数组的检测

 value instanceof Array
 Array.isArray(value)

方法

数组的填充 fill()可以向一个已有的数组中插入全部或部分相同的值。

const arr = [0,0,0,0,0];
// 用 3 填充整个数组
arr.fill(5);
console.log(arr); // [3, 3 3, 3, 3]

// 用 6 填充索引大于等于 3 的元素
arr.fill(6, 3);
console.log(arr); // [0, 0, 0, 6, 6]

// 用 7 填充索引大于等于 1 且小于 3 的元素
arr.fill(7, 1, 3);
console.log(arr); // [0, 7, 7, 0, 0];
arr.fill(0);

push()数组末端添加元素 ---返回数组的长度

let arr = ['a'];
// 创建一个数组
let count = arr.push("red", "green");
//=> 3

pop()删除数组最后一个元素 ---返回该元素的值

let arr = ["red", "blue"];
let item = arr.pop();
// 取得最后一项
//=>blue

shift() 删除数组第一个元素 ---返回该元素的值

var fruits = ["Banana", "Orange", "Apple", "Mango"];  
var item=fruits.shift()
//fruits =>[  "Orange", "Apple", "Mango"];  
//item=>'Banana'

sort() 对数组进行排序


var arr = [30,100,1,5,25,10];  
降序
points.sort(()=>{return b-a});
//=>100,30,25,10,5,1
升序
points.sort(()=>{return a-b})
//=>1,5,10,25,30, 100